private void GenerateAttachment1(DataTable DT)
{
try
{
Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
if (app == null)
{
untCommon.InfoMsg("服务器上缺少Excel组件,需要安装Office软件后重试");
return;
}
app.Visible = false;
app.UserControl = true;
string strTempPath = @"D:\!ZhengkuiD\Defence\DefenceMgr\bin\Debug\goodExcel\Old\XXXX.xlsx"; //模板Excel文件的路径
Microsoft.Office.Interop.Excel.Workbooks workbooks = app.Workbooks;
Microsoft.Office.Interop.Excel._Workbook workbook = workbooks.Add(strTempPath); //加载模板
Microsoft.Office.Interop.Excel.Sheets sheets = workbook.Sheets;
Microsoft.Office.Interop.Excel._Worksheet worksheet = (Microsoft.Office.Interop.Excel._Worksheet)sheets.get_Item(1); //第一个工作薄
if (worksheet == null) //工作薄中没有工作表
{
return;
}
//1、获取数据
int rowCount = DT.Rows.Count;
if (rowCount <= 0)
return;
//2、写入数据,Excel索引从1开始
for (int i = 1; i <= rowCount; i++)
{
int row_ = 0;
row_ = 3 + i; //Excel模板上隐藏标题、表头和标题行共占3行,根据实际模板需要修改
int dt_row = i - 1; //dataTable的行是从0开始的
//开始赋值
worksheet.Cells[row_, 1] = i.ToString();
worksheet.Cells[row_, 2] = DT.Rows[dt_row]["Name"].ToString();
}
//3、保存生成的Excel文件
string savePath = @"D:\!ZhengkuiD\Defence\DefenceMgr\bin\Debug\goodExcel\New\XXXX.xlsx";
workbook.SaveAs(savePath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
shuzi++;
//4、按顺序释放资源
NAR(worksheet);
NAR(sheets);
NAR(workbook);
NAR(workbooks);
app.Quit();
NAR(app);
}
catch (Exception)
{
}
}
C#导出数据到Excel表
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在这里我使用的thinkphp框架 记得把PHPExcel解压到Vendor目录下如下图所示 并且把PHPExce...
- 上一篇我们谈到了如何将Excel表中数据导入到数据库中去,现在我们将讨论如何将数据库中的数据导出到Excel表中去...