ASP.NET 导出EXCEL
生活随笔
收集整理的这篇文章主要介绍了
ASP.NET 导出EXCEL
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
采用.Net Excel组件导出 EXCEL文件, /// <summary>
/// 导出Excel
/// </summary>
/// <param name="source">需要导出的数据</param>
/// <param name="exportFullPath">导出Excel文件的全路径</param>
/// <param name="hasHeadline">如果 true则生成表头 </param>
private void ExportExcel(DataTable source, string exportFullPath, bool hasHeadline)
{
#region 采用.Net Excel组件导出
Application objExcel = new Application();
if (objExcel == null)
{
throw new Exception("ERROR: You must install Microsoft Excel Application!");
}
//创建一个Excel文件(未保存,无文件名)
Workbooks objWorkbooks = objExcel.Workbooks;
_Workbook objWorkbook = objWorkbooks.Add(XlWBATemplate.xlWBATWorksheet); //默认创建sheet1
//取得Sheet1
Sheets objSheets = objWorkbook.Worksheets;
_Worksheet objWorksheet = (_Worksheet)objSheets.get_Item(1);
//写入标题
int intDataBeginRow = 1;
if (hasHeadline)
{
for (int i = 0; i < source.Columns.Count; i++)
{
objWorksheet.Cells[1, i + 1] = source.Columns[i].ColumnName.Trim();
}
//数据起始行加1
intDataBeginRow++;
}
//写入数据,Excel的索引是从1开始的
for (int j = 0; j < source.Rows.Count; j++)
{
for (int k = 0; k < source.Columns.Count; k++)
{
objWorksheet.Cells[j + intDataBeginRow, k + 1] = source.Rows[j][k].ToString();
}
}
objWorksheet.Hyperlinks.Delete(); //去掉超链
//保存文件(如果使用objWorkbook.SaveAs将不兼容excel2000,excelxp)
objWorkbook._SaveAs(exportFullPath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//关闭文件,释放资源
objWorkbook.Close(false, exportFullPath, false);
objExcel = null;
#endregion
}
直接调用ExportExcel 即可
/// 导出Excel
/// </summary>
/// <param name="source">需要导出的数据</param>
/// <param name="exportFullPath">导出Excel文件的全路径</param>
/// <param name="hasHeadline">如果 true则生成表头 </param>
private void ExportExcel(DataTable source, string exportFullPath, bool hasHeadline)
{
#region 采用.Net Excel组件导出
Application objExcel = new Application();
if (objExcel == null)
{
throw new Exception("ERROR: You must install Microsoft Excel Application!");
}
//创建一个Excel文件(未保存,无文件名)
Workbooks objWorkbooks = objExcel.Workbooks;
_Workbook objWorkbook = objWorkbooks.Add(XlWBATemplate.xlWBATWorksheet); //默认创建sheet1
//取得Sheet1
Sheets objSheets = objWorkbook.Worksheets;
_Worksheet objWorksheet = (_Worksheet)objSheets.get_Item(1);
//写入标题
int intDataBeginRow = 1;
if (hasHeadline)
{
for (int i = 0; i < source.Columns.Count; i++)
{
objWorksheet.Cells[1, i + 1] = source.Columns[i].ColumnName.Trim();
}
//数据起始行加1
intDataBeginRow++;
}
//写入数据,Excel的索引是从1开始的
for (int j = 0; j < source.Rows.Count; j++)
{
for (int k = 0; k < source.Columns.Count; k++)
{
objWorksheet.Cells[j + intDataBeginRow, k + 1] = source.Rows[j][k].ToString();
}
}
objWorksheet.Hyperlinks.Delete(); //去掉超链
//保存文件(如果使用objWorkbook.SaveAs将不兼容excel2000,excelxp)
objWorkbook._SaveAs(exportFullPath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//关闭文件,释放资源
objWorkbook.Close(false, exportFullPath, false);
objExcel = null;
#endregion
}
直接调用ExportExcel 即可
转载于:https://www.cnblogs.com/kaiwind/archive/2008/04/22/1165821.html
总结
以上是生活随笔为你收集整理的ASP.NET 导出EXCEL的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Windows 编程[12] - 菜单与
- 下一篇: asp.net 上传大文件解决方案(转)