赞
踩
System.Reflection.Missing miss = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = false;
if (excel == null)
{
MessageBox.Show("EXCEL无法启动!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Microsoft.Office.Interop.Excel.Workbooks books = (Microsoft.Office.Interop.Excel.Workbooks)excel.Workbooks;
Microsoft.Office.Interop.Excel.Workbook book = (Microsoft.Office.Interop.Excel.Workbook)books.Add(miss);
Microsoft.Office.Interop.Excel.Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)book.ActiveSheet;
sheet.Name = "Sheet";//工作薄名称
//填充列头
for (int i = 0; i < tb_result.Columns.Count; i++)
{
excel.Cells[1, i + 1] = tb_result.Columns[i].ColumnName;
}
//填充数据
for (int row = 0; row <= tb_result.Rows.Count - 1; row++)
{
for (int column = 0; column < tb_result.Columns.Count; column++)
{
//excel.Cells[row + 2, column + 1].AutoFit();
//if (tb_result.Rows[row][column].GetType() == typeof(string))
try
{
Convert.ToInt32(tb_result.Rows[row][column].ToString().Trim());
excel.Cells[row + 2, column + 1].NumberFormatLocal = "@";
excel.Cells[row + 2, column + 1] = tb_result.Rows[row][column].ToString();
}
catch
{
excel.Cells[row + 2, column + 1] = tb_result.Rows[row][column].ToString();
}
//宽度
excel.Cells[row + 2, column + 1].ColumnWidth = tb_result.Rows[row][column].ToString().Length*1.5;
if (tb_result.Rows[row][column].ToString().Length == 0)
{
excel.Cells[row + 2, column + 1].ColumnWidth = tb_result.Columns[column].ColumnName.Length * 1.5;
}
}
}
string Version = excel.Version;
int FormatNum;
if (Convert.ToDouble(Version) < 12)
{
FormatNum = -4143;
}
else
{
FormatNum = 56;
}
sheet.SaveAs(filepath, FormatNum, miss, miss, miss, miss, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, miss, miss, miss);
book.Close(false, miss, miss);
books.Close();
excel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(book);
System.Runtime.InteropServices.Marshal.ReleaseComObject(books);
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
GC.Collect();
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。