.NET导出EXCEL
2012-01-11 16:12
260 查看
public static void ExportTasks(System.Data.DataTable dtTemp,string ServerPath,string TextName,int fc,string sName)
{
// 定义要使用的Excel 组件接口
// 定义Application 对象,此对象表示整个Excel 程序
Application excelApp = null;
// 定义Workbook对象,此对象代表工作薄
Workbook workBook;
// 定义Worksheet 对象,此对象表示Execel 中的一张工作表
Worksheet ws = null;
//定义Range对象,此对象代表单元格区域
Range range;
int dcell = 1;
int rowindex = 0; int colindex = 0;
int rowcount = dtTemp.Rows.Count;
int colcount = dtTemp.Columns.Count;
try
{
//初始化 Application 对象 excelApp
excelApp = new Application();
//在工作薄的第一个工作表上创建任务列表
workBook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
ws = (Worksheet)workBook.Worksheets[1];
// 命名工作表的名称为
ws.Name = !string.IsNullOrEmpty(sName) ? sName : "Sheet1" ;
//创建缓存
Object[,] objdata = new object[rowcount + 1, colcount];
//创建标题
foreach (System.Data.DataColumn dc in dtTemp.Columns)
{
objdata[rowindex, colindex++] = dc.ColumnName;
}
//获取数据
for (int i = 0; i < rowcount; i++)
{
dcell = 0;
for (int j = 0; j < colcount; j++)
{
objdata[i + 1, dcell++] = dtTemp.Rows[i][dtTemp.Columns[j].ColumnName].ToString();
}
}
//写入Excel
range = ws.get_Range(excelApp.Cells[1, 1], excelApp.Cells[rowcount + 1, colcount]);
//range.NumberFormatLocal = "@";//所有字段格式化为文本格式
ws.get_Range(excelApp.Cells[2, fc], excelApp.Cells[rowcount + 1, fc]).NumberFormatLocal = "@";
range.Value2 = objdata;
System.Windows.Forms.Application.DoEvents();
//设置格式
range = ws.get_Range(excelApp.Cells[1, 1], excelApp.Cells[1, colcount]);
range.Font.Bold = true;//标题粗体
excelApp.Cells.HorizontalAlignment = Constants.xlCenter; //全局左对齐
excelApp.Cells.EntireColumn.AutoFit();
range = ws.get_Range(excelApp.Cells[1, 1], excelApp.Cells[rowcount + 1, colcount]);
range.Borders.LineStyle = 1;
//range.Font.Bold = true; //标题粗体
//显示 Excel
//excelApp.Visible = true;
workBook.SaveCopyAs(ServerPath.Replace("//", "\\") + TextName + ".xls");
workBook.Close(false, null, null);
excelApp.Quit();
ws = null;
}
catch (Exception ex)
{
WriteLog.SetErrorMsg("ExportTasks", "", ex.Message); //处理错误
excelApp.Quit();
throw ex;
}
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="dtTemp"></param>
public static void ExportCMB(System.Data.DataTable dtTemp, string ServerPath, string TextName)
{
// 定义要使用的Excel 组件接口
// 定义Application 对象,此对象表示整个Excel 程序
Application excelApp = null;
// 定义Workbook对象,此对象代表工作薄
Workbook workBook;
// 定义Worksheet 对象,此对象表示Execel 中的一张工作表
Worksheet ws = null;
//定义Range对象,此对象代表单元格区域
Range range;
int dcell = 1;
int colindex = 0;
int rowcount = dtTemp.Rows.Count;
int colcount = 14;
try
{
//初始化 Application 对象 excelApp
excelApp = new Application();
//在工作薄的第一个工作表上创建任务列表
workBook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
ws = (Worksheet)workBook.Worksheets[1];
// 命名工作表的名称为
ws.Name = "Sheet1";
//创建缓存
Object[,] objdata = new object[rowcount + 3, colcount];
objdata[0, 0] = "代发工资表";
objdata[1, 0] = "TF:QY1CWS1";
//创建标题
foreach (System.Data.DataColumn dc in dtTemp.Columns)
{
objdata[2, colindex++] = dc.ColumnName;
}
//获取数据
for (int i = 0; i < rowcount; i++)
{
dcell = 0;
for (int j = 0; j < colcount; j++)
{
objdata[i + 3, dcell++] = dtTemp.Rows[i][dtTemp.Columns[j].ColumnName].ToString();
}
}
//写入Excel
range = ws.get_Range(excelApp.Cells[1, 1], excelApp.Cells[rowcount + 3, colcount]);
ws.get_Range(excelApp.Cells[4, 12], excelApp.Cells[rowcount + 3, 12]).NumberFormatLocal = "@";
//range.NumberFormatLocal = "@";
range.Value2 = objdata;
range.Font.Size = 10;
System.Windows.Forms.Application.DoEvents();
//设置格式
excelApp.Cells.HorizontalAlignment = Constants.xlLeft; //全局左对齐
excelApp.Cells.EntireColumn.AutoFit();
range = ws.get_Range(excelApp.Cells[3, 1], excelApp.Cells[rowcount + 3, colcount]);
//range.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlThick, XlColorIndex.xlColorIndexAutomatic, System.Drawing.Color.Black.ToArgb());
range.Borders.LineStyle = 1;
//显示 Excel
//excelApp.Visible = true;
workBook.SaveCopyAs(ServerPath.Replace("//", "\\") + TextName + ".xls");
workBook.Close(false, null, null);
excelApp.Quit();
ws = null;
}
catch (Exception ex)
{
WriteLog.SetErrorMsg("ExportICBC", "", ex.Message); //处理错误
excelApp.Quit();
throw ex;
}
}
}
{
// 定义要使用的Excel 组件接口
// 定义Application 对象,此对象表示整个Excel 程序
Application excelApp = null;
// 定义Workbook对象,此对象代表工作薄
Workbook workBook;
// 定义Worksheet 对象,此对象表示Execel 中的一张工作表
Worksheet ws = null;
//定义Range对象,此对象代表单元格区域
Range range;
int dcell = 1;
int rowindex = 0; int colindex = 0;
int rowcount = dtTemp.Rows.Count;
int colcount = dtTemp.Columns.Count;
try
{
//初始化 Application 对象 excelApp
excelApp = new Application();
//在工作薄的第一个工作表上创建任务列表
workBook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
ws = (Worksheet)workBook.Worksheets[1];
// 命名工作表的名称为
ws.Name = !string.IsNullOrEmpty(sName) ? sName : "Sheet1" ;
//创建缓存
Object[,] objdata = new object[rowcount + 1, colcount];
//创建标题
foreach (System.Data.DataColumn dc in dtTemp.Columns)
{
objdata[rowindex, colindex++] = dc.ColumnName;
}
//获取数据
for (int i = 0; i < rowcount; i++)
{
dcell = 0;
for (int j = 0; j < colcount; j++)
{
objdata[i + 1, dcell++] = dtTemp.Rows[i][dtTemp.Columns[j].ColumnName].ToString();
}
}
//写入Excel
range = ws.get_Range(excelApp.Cells[1, 1], excelApp.Cells[rowcount + 1, colcount]);
//range.NumberFormatLocal = "@";//所有字段格式化为文本格式
ws.get_Range(excelApp.Cells[2, fc], excelApp.Cells[rowcount + 1, fc]).NumberFormatLocal = "@";
range.Value2 = objdata;
System.Windows.Forms.Application.DoEvents();
//设置格式
range = ws.get_Range(excelApp.Cells[1, 1], excelApp.Cells[1, colcount]);
range.Font.Bold = true;//标题粗体
excelApp.Cells.HorizontalAlignment = Constants.xlCenter; //全局左对齐
excelApp.Cells.EntireColumn.AutoFit();
range = ws.get_Range(excelApp.Cells[1, 1], excelApp.Cells[rowcount + 1, colcount]);
range.Borders.LineStyle = 1;
//range.Font.Bold = true; //标题粗体
//显示 Excel
//excelApp.Visible = true;
workBook.SaveCopyAs(ServerPath.Replace("//", "\\") + TextName + ".xls");
workBook.Close(false, null, null);
excelApp.Quit();
ws = null;
}
catch (Exception ex)
{
WriteLog.SetErrorMsg("ExportTasks", "", ex.Message); //处理错误
excelApp.Quit();
throw ex;
}
}
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="dtTemp"></param>
public static void ExportCMB(System.Data.DataTable dtTemp, string ServerPath, string TextName)
{
// 定义要使用的Excel 组件接口
// 定义Application 对象,此对象表示整个Excel 程序
Application excelApp = null;
// 定义Workbook对象,此对象代表工作薄
Workbook workBook;
// 定义Worksheet 对象,此对象表示Execel 中的一张工作表
Worksheet ws = null;
//定义Range对象,此对象代表单元格区域
Range range;
int dcell = 1;
int colindex = 0;
int rowcount = dtTemp.Rows.Count;
int colcount = 14;
try
{
//初始化 Application 对象 excelApp
excelApp = new Application();
//在工作薄的第一个工作表上创建任务列表
workBook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
ws = (Worksheet)workBook.Worksheets[1];
// 命名工作表的名称为
ws.Name = "Sheet1";
//创建缓存
Object[,] objdata = new object[rowcount + 3, colcount];
objdata[0, 0] = "代发工资表";
objdata[1, 0] = "TF:QY1CWS1";
//创建标题
foreach (System.Data.DataColumn dc in dtTemp.Columns)
{
objdata[2, colindex++] = dc.ColumnName;
}
//获取数据
for (int i = 0; i < rowcount; i++)
{
dcell = 0;
for (int j = 0; j < colcount; j++)
{
objdata[i + 3, dcell++] = dtTemp.Rows[i][dtTemp.Columns[j].ColumnName].ToString();
}
}
//写入Excel
range = ws.get_Range(excelApp.Cells[1, 1], excelApp.Cells[rowcount + 3, colcount]);
ws.get_Range(excelApp.Cells[4, 12], excelApp.Cells[rowcount + 3, 12]).NumberFormatLocal = "@";
//range.NumberFormatLocal = "@";
range.Value2 = objdata;
range.Font.Size = 10;
System.Windows.Forms.Application.DoEvents();
//设置格式
excelApp.Cells.HorizontalAlignment = Constants.xlLeft; //全局左对齐
excelApp.Cells.EntireColumn.AutoFit();
range = ws.get_Range(excelApp.Cells[3, 1], excelApp.Cells[rowcount + 3, colcount]);
//range.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlThick, XlColorIndex.xlColorIndexAutomatic, System.Drawing.Color.Black.ToArgb());
range.Borders.LineStyle = 1;
//显示 Excel
//excelApp.Visible = true;
workBook.SaveCopyAs(ServerPath.Replace("//", "\\") + TextName + ".xls");
workBook.Close(false, null, null);
excelApp.Quit();
ws = null;
}
catch (Exception ex)
{
WriteLog.SetErrorMsg("ExportICBC", "", ex.Message); //处理错误
excelApp.Quit();
throw ex;
}
}
}
相关文章推荐
- .NET使用NPOI组件将数据导出Excel(转)
- .net导出excel和word 类
- .net导出到excel的多种方法汇总
- .net导入,导出,操作EXCEL汇总
- 在.NET环境下将报表导出EXCEL和WORD
- .NET使用NPOI组件将数据导出Excel
- .net解决数据导出excel时的格式问题
- .NET 导出到Excel功能
- .net从gridview控件导出数据到excel续
- .NET 导出Excel
- 关于.NET使用Microsoft.Office.Interop.Excel导出“异常来自 HRESULT:0x800A03EC”
- 对.NET中导出数据到EXCEL的几种方法探讨
- [.Net] Excel导入导出各种方式分析
- .net解决数据导出excel时的格式问题
- .net导出Excel设置颜色font.ColorIndex 各颜色编号
- .net 导出Excel,设置Excel页眉及单元格换行方法
- .net 使用NPOI或MyXls把DataTable导出到Excel
- 在.NET环境下将报表导出Excel和Word
- .net导出Excel出现乱码问题
- .net导出EXCEL