首页 > 代码库 > 单表头,多表头导出excel
单表头,多表头导出excel
一、单表头
1 #region 导出 2 if (this.dgvInfo.Rows.Count > 0) 3 { 4 SaveFileDialog saveFileDialog = new SaveFileDialog(); 5 saveFileDialog.DefaultExt = "xls"; 6 saveFileDialog.Filter = "EXCEL文件(*.XLS)|*.xls"; 7 saveFileDialog.FilterIndex = 0; 8 saveFileDialog.FileName = "单据明细"; 9 saveFileDialog.RestoreDirectory = true;10 saveFileDialog.CreatePrompt = true;11 saveFileDialog.Title = "导出到EXCEL";12 saveFileDialog.ShowDialog();13 if (saveFileDialog.FileName == "")14 return;15 Stream myStream;16 myStream = saveFileDialog.OpenFile();17 StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));18 string str = "";19 try20 {21 for (int i = 0; i < this.dgvInfo.ColumnCount; i++)22 {23 if (i > 0)24 {25 str += "\t";26 }27 str += dgvInfo.Columns[i].HeaderText;28 }29 sw.WriteLine(str);30 for (int j = 0; j < dgvInfo.Rows.Count; j++)31 {32 string tempStr = "";33 for (int k = 0; k < dgvInfo.Columns.Count; k++)34 {35 if (k > 0)36 {37 tempStr += "\t";38 }39 if (dgvInfo.Rows[j].Cells[k].Value =http://www.mamicode.com/= null)40 {41 dgvInfo.Rows[j].Cells[k].Value = http://www.mamicode.com/"";42 }43 tempStr += dgvInfo.Rows[j].Cells[k].Value.ToString();44 }45 sw.WriteLine(tempStr);46 }47 sw.Close();48 myStream.Close();49 }50 catch (Exception ex)51 {52 MessageBox.Show(ex.ToString());53 }54 finally55 {56 sw.Close();57 myStream.Close();58 }59 }60 #endregion
二、表多头
1 try 2 { 3 if (treedgv.Rows.Count > 0) 4 { 5 string sFile = System.Windows.Forms.Application.StartupPath; 6 7 //Missing 在System.Reflection命名空间下。 8 //string sFileSave = sFile + "\\" + DateTime.Now.ToString("yyyyMMddHHmmss") + "一天一业绩.xls"; 9 10 SaveFileDialog saveFileDialog = new SaveFileDialog();11 saveFileDialog.DefaultExt = "xls";12 saveFileDialog.Filter = "EXCEL文件(*.XLS)|*.xls";13 saveFileDialog.FilterIndex = 0;14 saveFileDialog.FileName = DateTime.Now.ToString("yyyyMMddHHmmss") + "支付方式";15 saveFileDialog.RestoreDirectory = true;16 saveFileDialog.CreatePrompt = true;17 saveFileDialog.Title = "导出到EXCEL";18 saveFileDialog.ShowDialog();19 if (saveFileDialog.FileName == "")20 return;21 22 //需要添加 Microsoft.Office.Interop.Excel引用 23 Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();24 25 app.Visible = false;26 app.UserControl = true;27 Microsoft.Office.Interop.Excel.Workbooks workbooks = app.Workbooks;28 Microsoft.Office.Interop.Excel._Workbook workbook = workbooks.Add(sFile + "\\支付方式.xls"); //加载模板29 Microsoft.Office.Interop.Excel.Sheets sheets = workbook.Sheets;30 Microsoft.Office.Interop.Excel._Worksheet worksheet = (Microsoft.Office.Interop.Excel._Worksheet)sheets.get_Item(1); //第一个工作薄。31 if (worksheet == null)32 return; //工作薄中没有工作表.33 34 ////写入数据,Excel索引从1开始。35 36 for (int i = 1; i <= treedgv.Rows.Count; i++)37 {38 int row_ = 3 + i; //Excel模板上表头和标题行占了2行,根据实际模板需要修改;39 int dt_row = i - 1; //dataTable的行是从0开始的。 40 //worksheet.Cells[row_, 1] = i.ToString();41 for (int j = 1; j <= treedgv.Columns.Count; j++)42 {43 if (treedgv.Rows[0].Cells["Column" + j].Value.ToString() != "")44 {45 worksheet.Cells[row_, j] = treedgv.Rows[i-1].Cells["Column" + j].Value.ToString();46 }47 }48 49 }50 51 52 workbook.SaveAs(saveFileDialog.FileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);53 54 55 workbook.Close(null, null, null);56 workbooks.Close();57 worksheet = null;58 app.Quit();59 app = null;60 }61 }62 catch (Exception)63 {64 65 MessageBox.Show("导出失败!", "异常");66 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。