数据库大概如上,没有将全部数据导出来。只是3个字段。
private void button1_Click(object sender, EventArgs e) { SaveFileDialog sdfExport = new SaveFileDialog(); sdfExport.Filter = "Excel文件|*.xls"; if (sdfExport.ShowDialog() != DialogResult.OK) { return; } string filename = sdfExport.FileName; HSSFWorkbook workbook = new HSSFWorkbook(); ISheet sheet = workbook.CreateSheet("员工信息"); IRow rowHeader = sheet.CreateRow(0); rowHeader.CreateCell(0, CellType.STRING).SetCellValue("员工姓名");//表头设置 rowHeader.CreateCell(1, CellType.STRING).SetCellValue("员工电话"); rowHeader.CreateCell(2, CellType.STRING).SetCellValue("提交时间"); string conStr = "Data Source=.;Initial CataLog=HM3Data;User Id=sa;Password=qiufeng"; using (SqlConnection conn = new SqlConnection(conStr)) { string sqlStr = "select * from UserInfo"; SqlDataAdapter da = new SqlDataAdapter(sqlStr, conStr); DataSet ds = new DataSet(); da.Fill(ds); DataTable dt = ds.Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { IRow row = sheet.CreateRow(i + 1); DataRow dr = dt.Rows[i]; row.CreateCell(0, CellType.STRING).SetCellValue(dr["UName"].ToString()); row.CreateCell(1, CellType.STRING).SetCellValue(dr["Phone"].ToString()); ICellStyle styledate = workbook.CreateCellStyle();//日期类型的格式 IDataFormat format = workbook.CreateDataFormat(); styledate.DataFormat = format.GetFormat("yyyy\"年\"m\"月\"d\"日\""); ICell cell = row.CreateCell(2, CellType.NUMERIC); cell.CellStyle = styledate; cell.SetCellValue(Convert.ToDateTime(dr["SubTime"].ToString())); } } using (Stream stream = File.OpenWrite(filename)) { workbook.Write(stream); } }