DataTable 导出到EXCEL代码

本文提供了一段实用的C#代码,用于将DataTable中的数据导出到Excel文件中。该方法首先检查输入的有效性,然后创建一个新的Excel工作簿,并设置单元格样式、填充数据和显示进度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.cnblogs.com/springyangwc/archive/2011/02/14/1954377.html

 

首先引用Microsoft.Office.Interop.Excel;

01        private void ExportExcel(DataTable dt)
02        {
03            if (dt == null) return;
04            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
05  
06            if (xlApp == null)
07            {
08                return;
09            }
10            System.Globalization.CultureInfo CurrentCI = System.Threading.Thread.CurrentThread.CurrentCulture;
11            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
12            Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
13            Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
14            Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
15            Microsoft.Office.Interop.Excel.Range range;
16            long totalCount = dt.Rows.Count;
17            long rowRead = 0;
18            float percent = 0;
19            for (int i = 0; i < dt.Columns.Count; i++)
20            {
21                worksheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;
22                range = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, i + 1];
23                range.Interior.ColorIndex = 15;
24                range.Font.Bold = true;
25            }
26            for (int r = 0; r < dt.Rows.Count; r++)
27            {
28                for (int i = 0; i < dt.Columns.Count; i++)
29                {
30                    worksheet.Cells[r + 2, i + 1] = dt.Rows[r][i];
31                }
32                rowRead++;
33                percent = ((float)(100 * rowRead)) / totalCount;
34            }
35            xlApp.Visible = true;
36        }
37<BR><BR><BR>//这样就行了,很实用的代码.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值