private bool Export(DataSet dgv)
{
string savefilename;
SaveFileDialog savedialog = new SaveFileDialog();savedialog.DefaultExt = "xls";
savedialog.Filter = "excel文件|*.xls";
savedialog.FileName = "sheet1";
savedialog.ShowDialog();
savefilename = savedialog.FileName;
DataTable dt = dsExport.Tables[0];
int rowNumber = dt.Rows.Count;//不包括字段名
int columnnumber = dt.Columns.Count;
int colIndex = 0;
if (rowNumber == 0)
{
return false;
}
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet wkst = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
//excel.Visible = true;
Microsoft.Office.Interop.Excel.Range rg;
//生成字段名称
List<string> heads = new List<string> { "姓名","编号","日期"};
foreach (string s in heads)
{
colIndex++;
excel.Cells[1, colIndex] = s;
}
object[,] objData = new object[rowNumber, columnnumber];
for (int r = 0; r <rowNumber; r++)
{
for (int c = 0; c < columnnumber; c++)
{
objData[r, c] = dt.Rows[r][c];
}
}
rg = excel.Range[excel.Cells[2, 1], excel.Cells[rowNumber + 1, columnnumber]];
rg.Value2 = objData;
wkst.Range[excel.Cells[2, 1], excel.Cells[rowNumber + 1, 3]].NumberFormat = "yyyy-mm-dd hh:mm";//格式化数据
wkst.Range[excel.Cells[2, 1], excel.Cells[rowNumber + 1, 2]].NumberFormat = "@";
workbook.Saved = true;
workbook.SaveCopyAs(savefilename);
return true;
}