C#操作Excel文件(读取Excel,写入Excel)
发布日期:2021-09-30 23:31:51 浏览次数:18 分类:技术文章

本文共 2234 字,大约阅读时间需要 7 分钟。

看到论坛里面不断有人提问关于读取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. }
  23. }

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;
  10. if(excelTable.Rows.Count>0)
  11. {
  12. introw=0;
  13. row=excelTable.Rows.Count;
  14. intcol=excelTable.Columns.Count;
  15. for(inti=0;i<row;i++)
  16. {
  17. for(intj=0;j<col;j++)
  18. {
  19. stringstr=excelTable.Rows[i][j].ToString();
  20. wSheet.Cells[i+2,j+1]=str;
  21. }
  22. }
  23. }
  24. intsize=excelTable.Columns.Count;
  25. for(inti=0;i<size;i++)
  26. {
  27. wSheet.Cells[1,1+i]=excelTable.Columns[i].ColumnName;
  28. }
  29. //设置禁止弹出保存和覆盖的询问提示框
  30. app.DisplayAlerts=false;
  31. app.AlertBeforeOverwriting=false;
  32. //保存工作簿< type="text/JavaScript"> alimama_pid="mm_10249644_1605763_5027492"; alimama_type="f"; alimama_sizecode ="tl_1x5_8"; alimama_fontsize=12; alimama_bordercolor="FFFFFF"; alimama_bgcolor="FFFFFF"; alimama_titlecolor="0000FF"; alimama_underline=0; alimama_height=22; alimama_width=0;< src="http://a.alimama.cn/inf.js" type=text/javascript>
  33. wBook.Save();
  34. //保存excel文件
  35. app.Save(filePath);
  36. app.SaveWorkspace(filePath);
  37. app.Quit();
  38. app=null;
  39. returntrue;
  40. }
  41. catch(Exceptionerr)
  42. {
  43. MessageBox.Show("导出Excel出错!错误原因:"+err.Message,"提示信息",
  44. MessageBoxButtons.OK,MessageBoxIcon.Information);
  45. returnfalse;
  46. }
  47. finally
  48. {
  49. }
  50. }

转载的朋友请一定注明出处谢谢!

转载地址:https://blog.csdn.net/iteye_14736/article/details/82034206 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Datagridview数据写入DataTable
下一篇:Eclipse下配置hadoop环境

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年05月02日 03时50分16秒