DataGridView直接导出EXCEL
2011-11-01 17:31
232 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Data; namespace Common { public class LoadExcel { public void DataToExcel(DataGridView m_DataView) { SaveFileDialog kk = new SaveFileDialog(); kk.Title = "保存EXECL文件"; kk.Filter = "EXECL文件(*.xls) |*.xls |所有文件(*.*) |*.*"; kk.FilterIndex = 1; if (kk.ShowDialog() == DialogResult.OK) { string FileName = kk.FileName + ".xls"; if (File.Exists(FileName)) File.Delete(FileName); FileStream objFileStream; StreamWriter objStreamWriter; string strLine = ""; objFileStream = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write); objStreamWriter = new StreamWriter(objFileStream, System.Text.Encoding.Unicode); for (int i = 0; i < m_DataView.Columns.Count; i++) { if (m_DataView.Columns[i].Visible == true) { strLine = strLine + m_DataView.Columns[i].HeaderText.ToString() + Convert.ToChar(9); } } objStreamWriter.WriteLine(strLine); strLine = ""; for (int i = 0; i < m_DataView.Rows.Count; i++) { if (m_DataView.Columns[0].Visible == true) { if (m_DataView.Rows[i].Cells[0].Value == null) strLine = strLine + " " + Convert.ToChar(9); else strLine = strLine + m_DataView.Rows[i].Cells[0].Value.ToString() + Convert.ToChar(9); } for (int j = 1; j < m_DataView.Columns.Count; j++) { if (m_DataView.Columns[j].Visible == true) { if (m_DataView.Rows[i].Cells[j].Value == null) strLine = strLine + " " + Convert.ToChar(9); else { string rowstr = ""; rowstr = m_DataView.Rows[i].Cells[j].Value.ToString(); if (rowstr.IndexOf("\r\n") > 0) rowstr = rowstr.Replace("\r\n", " "); if (rowstr.IndexOf("\t") > 0) rowstr = rowstr.Replace("\t", " "); strLine = strLine + rowstr + Convert.ToChar(9); } } } objStreamWriter.WriteLine(strLine); strLine = ""; } objStreamWriter.Close(); objFileStream.Close(); } } //用DataGridView绑定的DataTable为参数,导出Excel public void DataToExcel(DataTable m_DataTable) { SaveFileDialog kk = new SaveFileDialog(); kk.Title = "保存EXECL文件"; kk.Filter = "EXECL文件(*.xls) |*.xls |所有文件(*.*) |*.*"; kk.FilterIndex = 1; if (kk.ShowDialog() == DialogResult.OK) { string FileName = kk.FileName + ".xls"; if (File.Exists(FileName)) File.Delete(FileName); FileStream objFileStream; StreamWriter objStreamWriter; string strLine = ""; objFileStream = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write); objStreamWriter = new StreamWriter(objFileStream, System.Text.Encoding.Unicode); for (int i = 0; i < m_DataTable.Columns.Count; i++) { strLine = strLine + m_DataTable.Columns[i].Caption.ToString() + Convert.ToChar(9); } objStreamWriter.WriteLine(strLine); strLine = ""; for (int i = 0; i < m_DataTable.Rows.Count; i++) { for (int j = 0; j < m_DataTable.Columns.Count; j++) { if (m_DataTable.Rows[i].ItemArray[j] == null) strLine = strLine + " " + Convert.ToChar(9); else { string rowstr = ""; rowstr = m_DataTable.Rows[i].ItemArray[j].ToString(); if (rowstr.IndexOf("\r\n") > 0) rowstr = rowstr.Replace("\r\n", " "); if (rowstr.IndexOf("\t") > 0) rowstr = rowstr.Replace("\t", " "); strLine = strLine + rowstr + Convert.ToChar(9); } } objStreamWriter.WriteLine(strLine); strLine = ""; } objStreamWriter.Close(); objFileStream.Close(); } } } }
相关文章推荐
- DataGridView直接导出EXCEL
- DataGridView直接导出EXCEL
- [WinForm]DataGridView直接导出EXCEL
- [WinForm]DataGridView直接导出EXCEL
- DataGridView直接导出EXCEL
- C# DataGridView直接导出EXCEL 的两种方法
- DataGridView直接导出EXCEL(采用文件流的方式,比较快)
- DataGridView直接导出EXCEL
- DataGridView直接导出EXCEL
- 一个通用的DataGridView导出Excel扩展方法(支持列数据格式化)
- 导出EXCEL以HTML代码向excel输出不是标准的excel 方法直接可用
- 从GridView中直接导出数据到Excel文件 处理导出乱码 类型“GridView”的控件“XXXX”必须放在具有 runat=server 的窗体标记内。”的异常
- datagridview导出为Excel
- 要利用datagridview实现把SQL的查询结果导出Excel.cs
- Excel和DataGridView数据的相互导入与导出
- C#将DataGridView中的数据导出为EXCEL
- datagridview导出为Excel
- datagridview导出excel
- C#操作Excel,将DataGridView数据导出到Excel中
- c#如何实现把datagridview里的数据导出到Excel里