1
private void ExportExcel(System.Data.DataTable ds, string strExcelFileName)
2
{
3
object objOpt = Missing.Value;
4
Excel.Application excel = new Excel.Application();
5
excel.Visible = true;
6
_Workbook wkb = excel.Workbooks.Add(objOpt);
7
_Worksheet wks = (_Worksheet)wkb.ActiveSheet;
8
9
wks.Visible = XlSheetVisibility.xlSheetVisible;
10
11
int rowIndex = 1;
12
int colIndex = 0;
13
14
System.Data.DataTable table = ds;
15
foreach (DataColumn col in table.Columns)
16
{
17
colIndex++;
18
excel.Cells[1, colIndex] = col.ColumnName;
19
}
20
21
foreach (DataRow row in table.Rows)
22
{
23
rowIndex++;
24
colIndex = 0;
25
foreach (DataColumn col in table.Columns)
26
{
27
colIndex++;
28
excel.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();
29
}
30
}
31
try
32
{
33
wkb.SaveAs(string.Format("{0}\\{1}",System.Windows.Forms.Application.StartupPath,strExcelFileName), objOpt, null, null, false, false, XlSaveAsAccessMode.xlNoChange, ConflictOption.OverwriteChanges, null, null, null,null);
34
35
}
36
catch
37
{
38
}
39
finally
40
{
41
wkb.Close(false, objOpt, objOpt);
42
excel.Quit();
43
}
44
45
//excel.Sheets[0] = "sss";
46
}
47
48
private void tsbtnExportAll_Click(object sender, EventArgs e)
49
{
50
if (dgvList.Rows.Count <= 0)
51
return;
52
ExportExcel(dsForExport.akGetAllData(), "出库明细表.xls");
53
if (File.Exists(string.Format("{0}\\{1}", System.Windows.Forms.Application.StartupPath, "出库明细表.xls")))
54
System.Diagnostics.Process.Start(string.Format("{0}\\{1}", System.Windows.Forms.Application.StartupPath, "出库明细表.xls"));
55
56
}
以上方法需添加引用:
using Excel;
using System.Reflection;
using System.IO;

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

以上方法需添加引用:
using Excel;
using System.Reflection;
using System.IO;