Excel操作

/// <summary>
/// 直接导出Excel
/// </summary>
/// <param name="ds">数据源DataSet</param>
/// <param name="columns">列名数组,允许为空(columns=null),为空则表使用默认数据库列名 </param>
/// <param name="fileName">保存文件名(例如:E:\a.xls)</param>
/// <returns></returns>
public static bool DoExport(DataSet ds, string[] columns, string fileName)
{
if (ds.Tables.Count == 0 || fileName == string.Empty)
{
return false;
}
Application excel = new ApplicationClass();
int rowindex = 1;
int colindex = 0;
Workbook work = excel.Workbooks.Add(true);

System.Data.DataTable table = ds.Tables[0];
if (columns != null)
{
for (int i = 0; i < columns.Length; i++)
{
colindex++;
if (columns[i] != null && columns[i] != "")
{
excel.Cells[1, colindex] = columns[i];
}
else
{
excel.Cells[1, colindex] = table.Columns[i].ColumnName;
}
}
}
else
{
foreach (DataColumn col in table.Columns)
{
colindex++;
excel.Cells[1, colindex] = col.ColumnName;
}
}
foreach (DataRow row in table.Rows)
{
rowindex++;
colindex = 0;
foreach (DataColumn col in table.Columns)
{
colindex++;
excel.Cells[rowindex, colindex] = row[col.ColumnName].ToString();
}
}
excel.Visible = false;
//((Worksheet)work.Sheets[0]).Name = "sss";
excel.ActiveWorkbook.SaveAs(fileName, XlFileFormat.xlExcel9795, null, null, false, false, XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);
excel.Quit();
excel = null;
GC.Collect();
return true;
}


你可能感兴趣的:(Excel)