您的位置:首页 > 其它

文件流——Excel文件数据读写

2013-01-23 15:25 295 查看
(1)连接字符串

Excel97-2003:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'

Excel2007:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0;HDR=False;IMEX=1'
(2)读取
返回值是一个数据集DataSet

1. public static DataSet LoadDataFromExcel(string filePath)

2. {

3. try

4. {

5. string strConn;

6. strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";

7. OleDbConnection OleConn = new OleDbConnection(strConn);

8. OleConn.Open();

9. String sql = "SELECT * FROM [Sheet1$]";//可是更改Sheet名称,比如sheet2,等等

10.

11. OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);

12. DataSet OleDsExcle = new DataSet();

13. OleDaExcel.Fill(OleDsExcle, "Sheet1");

14. OleConn.Close();

15. return OleDsExcle;

16. }

17. catch (Exception err)

18. {

19. MessageBox.Show("数据绑定Excel失败!失败原因:" + err.Message, "提示信息",

20. MessageBoxButtons.OK, MessageBoxIcon.Information);

21. return null;

22. }

23.}

(3)写入
参数exceltable是要导入excel的一个table

1. public static bool SaveDataTableToExcel(System.Data.DataTable excelTable, string filePath)

2. {

3. Microsoft.Office.Interop.Excel.Application app =

4. new Microsoft.Office.Interop.Excel.ApplicationClass();

5. try

6. {

7. app.Visible = false;

8. Workbook wBook = app.Workbooks.Add(true);

9. 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. }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: