日期:2014-05-18 浏览次数:20531 次
// <summary>
/// 导出Excel
/// </summary>
/// <param name="dtTemp"></param>
/// <param name="ServerPath"></param>
/// <param name="TextName"></param>
/// <param name="fc">将number格式化成string</param>
public static void ExportTasks(System.Data.DataSet ds, 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;
try
{
excelApp = new Application();
workBook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
for (int d = 0; d<ds.Tables.Count; d++)
{
System.Data.DataTable dtTemp = ds.Tables[d];
int dcell = 1;
int rowindex = 0; int colindex = 0;
int rowcount = dtTemp.Rows.Count;
int colcount = dtTemp.Columns.Count;
//初始化 Application 对象 excelApp
//在工作薄的第一个工作表上创建任务列表
//workBook.Worksheets.Count
ws = (Worksheet)workBook.Worksheets[d+1];
// 命名工作表的名称为
if (sName.Length >= d)
{
ws.Name = !string.IsNullOrEmpty(sName[d]) ? sName[d] : "Sheet"+(d+1).ToString();
}
else
ws.Name = "Sheet" + (d + 1).ToString();
//创建缓存
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;