您的位置:首页 > 其它

DataSet excel导出(winform)

2014-06-10 17:19 483 查看
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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: