C#操作Excel文件(读取Excel,写入Excel)

2019-12-26 13:13:42于丽

看到论坛里面不断有人提问关于读取excel和导入excel的相关问题。闲暇时间将我所知道的对excel的操作加以总结,现在共享大家,希望给大家能够给大家带了一定的帮助。

另外我们还要注意一些简单的问题1.excel文件只能存储65535行数据,如果你的数据大于65535行,那么就需要将excel分割存放了。2.关于乱码,这主要是字符设置问题。

1.加载Excel(读取excel内容)返回值是一个DataSet

 

  1. //加载Excel   
  2. publicstaticDataSetLoadDataFromExcel(stringfilePath)   
  3. {   
  4. try   
  5. {   
  6. stringstrConn;   
  7. strConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+filePath+";ExtendedProperties='Excel8.0;HDR=False;IMEX=1'";   
  8. OleDbConnectionOleConn=newOleDbConnection(strConn);   
  9. OleConn.Open();   
  10. Stringsql="SELECT*FROM[Sheet1$]";//可是更改Sheet名称,比如sheet2,等等   
  11. OleDbDataAdapterOleDaExcel=newOleDbDataAdapter(sql,OleConn);   
  12. DataSetOleDsExcle=newDataSet();   
  13. OleDaExcel.Fill(OleDsExcle,"Sheet1");   
  14. OleConn.Close();   
  15. returnOleDsExcle;   
  16. }   
  17. catch(Exceptionerr)   
  18. {   
  19. MessageBox.Show("数据绑定Excel失败!失败原因:"+err.Message,"提示信息",   
  20. MessageBoxButtons.OK,MessageBoxIcon.Information);   
  21. returnnull;   
  22. }   

2.写入Excel内容,参数:excelTable是要导入excel的一个table表

 

  1. publicstaticboolSaveDataTableToExcel(System.Data.DataTableexcelTable,stringfilePath)   
  2. {   
  3. Microsoft.Office.Interop.Excel.Applicationapp=   
  4. newMicrosoft.Office.Interop.Excel.ApplicationClass();   
  5. try   
  6. {   
  7. app.Visible=false;   
  8. WorkbookwBook=app.Workbooks.Add(true);   
  9. WorksheetwSheet=wBook.Worksheets[1]asWorksheet;