DataGridView直接导出EXCEL
生活随笔
收集整理的這篇文章主要介紹了
DataGridView直接导出EXCEL
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.直接將DataGridView顯示的內(nèi)容導(dǎo)出Excel
?2????????{
?3????????????SaveFileDialog?kk?=?new?SaveFileDialog();?
?4????????????kk.Title?=?"保存EXECL文件";?
?5????????????kk.Filter?=?"EXECL文件(*.xls)?|*.xls?|所有文件(*.*)?|*.*";?
?6????????????kk.FilterIndex?=?1;
?7????????????if?(kk.ShowDialog()?==?DialogResult.OK)?
?8????????????{?
?9????????????????string?FileName?=?kk.FileName?+?".xls";
10????????????????if?(File.Exists(FileName))
11????????????????????File.Delete(FileName);
12????????????????FileStream?objFileStream;?
13????????????????StreamWriter?objStreamWriter;?
14????????????????string?strLine?=?"";?
15????????????????objFileStream?=?new?FileStream(FileName,?FileMode.OpenOrCreate,?FileAccess.Write);?
16????????????????objStreamWriter?=?new?StreamWriter(objFileStream,?System.Text.Encoding.Unicode);
17????????????????for?(int?i?=?0;?i??<?m_DataView.Columns.Count;?i++)?
18????????????????{?
19????????????????????if?(m_DataView.Columns[i].Visible?==?true)?
20????????????????????{?
21????????????????????????strLine?=?strLine?+?m_DataView.Columns[i].HeaderText.ToString()?+?Convert.ToChar(9);?
22????????????????????}?
23????????????????}?
24????????????????objStreamWriter.WriteLine(strLine);?
25????????????????strLine?=?"";?
26
27????????????????for?(int?i?=?0;?i??<?m_DataView.Rows.Count;?i++)?
28????????????????{?
29????????????????????if?(m_DataView.Columns[0].Visible?==?true)?
30????????????????????{?
31????????????????????????if?(m_DataView.Rows[i].Cells[0].Value?==?null)?
32????????????????????????????strLine?=?strLine?+?"?"?+?Convert.ToChar(9);?
33????????????????????????else?
34????????????????????????????strLine?=?strLine?+?m_DataView.Rows[i].Cells[0].Value.ToString()?+?Convert.ToChar(9);?
35????????????????????}?
36????????????????????for?(int?j?=?1;?j??<?m_DataView.Columns.Count;?j++)?
37????????????????????{?
38????????????????????????if?(m_DataView.Columns[j].Visible?==?true)?
39????????????????????????{?
40????????????????????????????if?(m_DataView.Rows[i].Cells[j].Value?==?null)?
41????????????????????????????????strLine?=?strLine?+?"?"?+?Convert.ToChar(9);?
42????????????????????????????else?
43????????????????????????????{?
44????????????????????????????????string?rowstr?=?"";?
45????????????????????????????????rowstr?=?m_DataView.Rows[i].Cells[j].Value.ToString();?
46????????????????????????????????if?(rowstr.IndexOf("\r\n")?>??0)?
47????????????????????????????????????rowstr?=?rowstr.Replace("\r\n",?"?");?
48????????????????????????????????if?(rowstr.IndexOf("\t")?>??0)?
49????????????????????????????????????rowstr?=?rowstr.Replace("\t",?"?");?
50????????????????????????????????strLine?=?strLine?+?rowstr?+?Convert.ToChar(9);?
51????????????????????????????}?
52????????????????????????}?
53????????????????????}?
54????????????????????objStreamWriter.WriteLine(strLine);?
55????????????????????strLine?=?"";?
56????????????????}?
57????????????????objStreamWriter.Close();?
58????????????????objFileStream.Close();
59????????????????MessageBox.Show(this,"保存EXCEL成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);?
60????????????}
61????????}
2.用DataGridView綁定的DataTable為參數(shù),導(dǎo)出Excel
?1public?void?DataToExcel(DataTable?m_DataTable)
?2????????{
?3????????????SaveFileDialog?kk?=?new?SaveFileDialog();
?4????????????kk.Title?=?"保存EXECL文件";
?5????????????kk.Filter?=?"EXECL文件(*.xls)?|*.xls?|所有文件(*.*)?|*.*";
?6????????????kk.FilterIndex?=?1;
?7????????????if?(kk.ShowDialog()?==?DialogResult.OK)
?8????????????{
?9????????????????string?FileName?=?kk.FileName?+?".xls";
10????????????????if?(File.Exists(FileName))
11????????????????????File.Delete(FileName);
12????????????????FileStream?objFileStream;
13????????????????StreamWriter?objStreamWriter;
14????????????????string?strLine?=?"";
15????????????????objFileStream?=?new?FileStream(FileName,?FileMode.OpenOrCreate,?FileAccess.Write);
16????????????????objStreamWriter?=?new?StreamWriter(objFileStream,?System.Text.Encoding.Unicode);
17????????????????for?(int?i?=?0;?i?<?m_DataTable.Columns.Count;?i++)
18????????????????{
19????????????????????strLine?=?strLine?+?m_DataTable.Columns[i].Caption.ToString()?+?Convert.ToChar(9);
20????????????????}
21????????????????objStreamWriter.WriteLine(strLine);
22????????????????strLine?=?"";
23
24????????????????for?(int?i?=?0;?i?<?m_DataTable.Rows.Count;?i++)
25????????????????{
26????????????????????for?(int?j?=?0;?j?<?m_DataTable.Columns.Count;?j++)
27????????????????????{
28????????????????????????if?(m_DataTable.Rows[i].ItemArray[j]?==?null)
29????????????????????????????strLine?=?strLine?+?"?"?+?Convert.ToChar(9);
30????????????????????????else
31????????????????????????{
32????????????????????????????string?rowstr?=?"";
33????????????????????????????rowstr?=?m_DataTable.Rows[i].ItemArray[j].ToString();
34????????????????????????????if?(rowstr.IndexOf("\r\n")?>?0)
35????????????????????????????????rowstr?=?rowstr.Replace("\r\n",?"?");
36????????????????????????????if?(rowstr.IndexOf("\t")?>?0)
37????????????????????????????????rowstr?=?rowstr.Replace("\t",?"?");
38????????????????????????????strLine?=?strLine?+?rowstr?+?Convert.ToChar(9);
39????????????????????????}
40????????????????????}
41????????????????????objStreamWriter.WriteLine(strLine);
42????????????????????strLine?=?"";
43????????????????}
44????????????????objStreamWriter.Close();
45????????????????objFileStream.Close();
46????????????????MessageBox.Show(this,?"保存EXCEL成功",?"提示",?MessageBoxButtons.OK,?MessageBoxIcon.Information);
47????????????}
48????????}
轉(zhuǎn)載于:https://www.cnblogs.com/xiaotan68/archive/2008/03/20/1114796.html
總結(jié)
以上是生活随笔為你收集整理的DataGridView直接导出EXCEL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4-css图片效果
- 下一篇: 漂亮图片演示ajax制作教程-light