此案例需要引入NPOI.dll文件和Ionic.Zip.dll文件
1 using System;
2
3 using System.Collections.Generic;
4
5 using System.Linq;
6
7 using System.Text;
8
9 using System.Data.SqlClient;
10
11 using NPOI.SS.UserModel;
12
13 using NPOI.HSSF.UserModel;
14
15 using System.IO;
16
17
18
19 namespace 导出数据到Excel
20
21 {
22
23 class Program
24
25 {
26
27 static void Main(string[] args)
28
29 {
30
31
32
33 bool b = false;
34
35 using (SqlDataReader reader = SqlHelper.ExecuteReader("select * from T_Customers"))
36
37 {
38
39
40
41 if (reader.HasRows)
42
43 {
44
45 b = true;
46
47 //创建一个工作簿
48
49 using (Workbook book = new HSSFWorkbook())
50
51 {
52
53 using (Sheet sheet = book.CreateSheet("CustomerInfo.xls"))
54
55 {
56
57 //创建一行,该行信息存在字段名称
58
59 Row rowHeader = sheet.CreateRow(0);
60
61 //创建单元格,创建的单元格的个数与数据库中字段的个数相同,数据库中的字段的个数可以
62
63 使用reader.FieldCount得到
64
65 for (int c = 0; c < reader.FieldCount; c++)
66
67 {
68
69 rowHeader.CreateCell(c).SetCellValue(reader.GetName(c));
70
71 }
72
73
74
75 int indexof = 1;
76
77 while (reader.Read())
78
79 {
80
81 Row row = sheet.CreateRow(indexof);
82
83 for (int i = 0; i < reader.FieldCount; i++)
84
85 {
86
87 Cell cell = row.CreateCell(i);
88
89 switch (reader.GetDataTypeName(i))
90
91 {
92
93 case "int":
94
95 if (reader.IsDBNull(i))
96
97 {
98
99 cell.SetCellType(CellType.BLANK);
100
101 }
102
103 else
104
105 {
106
107 cell.SetCellValue(reader.GetInt32(i));
108
109 }
110
111 break;
112
113 case "varchar":
114
115 case "char":
116
117 case "nchar":
118
119 case "nvarchar":
120
121 if (reader.IsDBNull(i))
122
123 {
124
125 cell.SetCellType(CellType.BLANK);
126
127 }
128
129 else
130
131 {
132
133 cell.SetCellValue(reader.GetString(i));
134
135 }
136
137 break;
138
139 case "datetime":
140
141 if (reader.IsDBNull(i))
142
143 {
144
145 cell.SetCellType(CellType.BLANK);
146
147 }
148
149 else
150
151 {
152
153 cell.SetCellValue(reader.GetDateTime(i).ToString());
154
155 }
156
157 break;
158
159 default: break;
160
161
162
163 }
164
165
166
167 }
168
169 indexof++;
170
171 }
172
173 using (FileStream fsWrite = File.OpenWrite("CustomerInfo.xls"))
174
175 {
176
177 book.Write(fsWrite);
178
179 Console.WriteLine("数据导入成功");
180
181 }
182
183 }
184
185 if (!b)
186
187 {
188
189 Console.WriteLine("没数据");
190
191 }
192
193 }
194
195 }
196
197 }
198
199 }
200
201 }
202
203 }
原文链接: https://www.cnblogs.com/hanwenhuazuibang/archive/2013/04/06/2999910.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/83510
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!