#region 导出 Excel 文件#region 导出 Excel 文件
/// <summary>
/// 导出 Excel 文件
/// </summary>
/// <param name="ds">要导出的DataSet</param>
/// <param name="strExcelFileName">要导出的文件名</param>
private bool ExportExcel(int columnCount, DataSet ds, string strExcelFileName)
{
try
{
object objOpt = Missing.Value;
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
//新建工作簿
excelApp.Visible = true;
_Workbook wkb = excelApp.Workbooks.Add(objOpt);
_Worksheet wks = (_Worksheet)wkb.ActiveSheet;
//int columnCount = dataGridView1.Columns.Count;
for (int i = 0; i < columnCount; i++)
{
Microsoft.Office.Interop.Excel.Range headRange = wks.Cells[1, i + 1] as Microsoft.Office.Interop.Excel.Range; //获取表头单元格
headRange.Cells.Font.Name = "黑体";
headRange.ColumnWidth = 20;
headRange.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter; //水平剧中
}
wks.Visible = XlSheetVisibility.xlSheetVisible;
int rowIndex = 1;
int colIndex = 0;
System.Data.DataTable table = ds.Tables[0];
foreach (DataColumn col in table.Columns)
{
colIndex++;
excelApp.Cells[1, colIndex] = col.ColumnName;
//excelApp.Cells.Width=100;
}
foreach (DataRow row in table.Rows)
{
rowIndex++;
colIndex = 0;
foreach (DataColumn col in table.Columns)
{
colIndex++;
Microsoft.Office.Interop.Excel.Range contentRange = wks.Cells[rowIndex, colIndex] as Microsoft.Office.Interop.Excel.Range; //获取内容单元格
contentRange.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignLeft; //水平剧中
if (colIndex == 1)
{
contentRange.Cells.NumberFormat="@";
}
if (colIndex == 4)
{
excelApp.Cells[rowIndex, 4] = row[col.ColumnName].ToString().Substring(0, 9);
}
if (colIndex == 6)
{
excelApp.Cells[rowIndex, 6] = row[col.ColumnName].ToString().Substring(0, 9);
}
else
{
excelApp.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();
}
}
}
wkb.SaveAs(strExcelFileName, objOpt, null, null, false, false, XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);
wkb.Close(false, objOpt, objOpt);
excelApp.Quit();
return true;
}
catch
{
return false;
}
}
#endregion