C#操作Excel文件(读取Excel,写入Excel)
2012-04-02 11:48
671 查看
看到论坛里面不断有人提问关于读取excel和导入excel的相关问题。闲暇时间将我所知道的对excel的操作加以总结,现在共享大家,希望给大家能够给大家带了一定的帮助。
另外我们还要注意一些简单的问题1.excel文件只能存储65535行数据,如果你的数据大于65535行,那么就需要将excel分割存放了。2.关于乱码,这主要是字符设置问题。
1.加载Excel(读取excel内容)返回值是一个DataSet
2.写入Excel内容,参数:excelTable是要导入excel的一个table表
另外我们还要注意一些简单的问题1.excel文件只能存储65535行数据,如果你的数据大于65535行,那么就需要将excel分割存放了。2.关于乱码,这主要是字符设置问题。
1.加载Excel(读取excel内容)返回值是一个DataSet
01.//加载Excel 02.public static DataSet LoadDataFromExcel(string filePath) 03.{ 04. try 05. { 06. string strConn; 07. strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'"; 08. OleDbConnection OleConn = new OleDbConnection(strConn); 09. OleConn.Open(); 10. String sql = "SELECT * FROM [Sheet1$]";//可是更改Sheet名称,比如sheet2,等等 11. 12. OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn); 13. DataSet OleDsExcle = new DataSet(); 14. OleDaExcel.Fill(OleDsExcle, "Sheet1"); 15. OleConn.Close(); 16. return OleDsExcle; 17. } 18. catch (Exception err) 19. { 20. MessageBox.Show("数据绑定Excel失败!失败原因:" + err.Message, "提示信息", 21. MessageBoxButtons.OK, MessageBoxIcon.Information); 22. return null; 23. } 24.}
2.写入Excel内容,参数:excelTable是要导入excel的一个table表
01.public static bool SaveDataTableToExcel(System.Data.DataTable excelTable, string filePath) 02. { 03. Microsoft.Office.Interop.Excel.Application app = 04. new Microsoft.Office.Interop.Excel.ApplicationClass(); 05. try 06. { 07. app.Visible = false; 08. Workbook wBook = app.Workbooks.Add(true); 09. Worksheet wSheet = wBook.Worksheets[1] as Worksheet; 10. if (excelTable.Rows.Count > 0) 11. { 12. int row = 0; 13. row = excelTable.Rows.Count; 14. int col = excelTable.Columns.Count; 15. for (int i = 0; i < row; i++) 16. { 17. for (int j = 0; j < col; j++) 18. { 19. string str = excelTable.Rows[i][j].ToString(); 20. wSheet.Cells[i + 2, j + 1] = str; 21. } 22. } 23. } 24. 25. int size = excelTable.Columns.Count; 26. for (int i = 0; i < size; i++) 27. { 28. wSheet.Cells[1, 1 + i] = excelTable.Columns[i].ColumnName; 29. } 30. //设置禁止弹出保存和覆盖的询问提示框 31. app.DisplayAlerts = false; 32. app.AlertBeforeOverwriting = false; 33. //保存工作簿 34. wBook.Save(); 35. //保存excel文件 36. app.Save(filePath); 37. app.SaveWorkspace(filePath); 38. app.Quit(); 39. app = null; 40. return true; 41. } 42. catch (Exception err) 43. { 44. MessageBox.Show("导出Excel出错!错误原因:" + err.Message, "提示信息", 45. MessageBoxButtons.OK, MessageBoxIcon.Information); 46. return false; 47. } 48. finally 49. { 50. } 51. }
相关文章推荐
- 【转】C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel) .
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel) .
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)