c# datagridview导出导入excel 如果用流的方式打开,可以导出,无法读取
来源:互联网 发布:淘宝评论设置方法 编辑:程序博客网 时间:2024/05/22 17:38
你导出的文件,其实是一个标准的文本文件(相当于 CSV 文件),根本就不是 EXCEL 文档。你只不过把扩展名改成了 *.xls 冒充 EXCEL 文件而已,本质上就是文本文件,用记事本打开的那种!在 Excel 2003 比较宽宏大量,允许你这种龌龊的冒充行为而已(呵呵),所以在 2003 中你能打开,到了 2007 后不在允许赤裸裸的、龌龊冒充行为(哈哈),所以你的“导出”立即穿帮了。。。。解决办法:微软在 Office 2007 版本开始使用 OpenXML 格式了。何为 OpenXML ?其实就是一种开放标准的 XML 文件,你导出 Excel 2007 文件,只要遵守 OpenXML 格式写入文本就可以了。另外:OpenXML 还涉及到 ZIP 压缩,幸好 .NET 自带 ZIP 压缩类,你可以上网搜一下代码,很多。
当然还有一种办法,直接用xml存储和转换更为简单。如下——
using System.IO;
#region 导入到XML
private void btnLeadInToXml_Click(object sender, EventArgs e)
{
this.openFileDialog1.Filter = "XML文件(*.xml)|*.xml";
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
string filename = this.openFileDialog1.FileName;
DataSet ds = new DataSet();
ds.ReadXml(filename);
this.dgvDictionary.DataSource = ds.Tables[0];
}
}
#endregion
#region 文件导出到XML文件
private void btnExportToXml_Click(object sender, EventArgs e)
{
this.saveFileDialog1.FileName = DateTime.Now.ToString("yyMMddhhmmss");
this.saveFileDialog1.Filter = "XML文件(*.xml)|*.xml";
if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
{
DataTable dt = (DataTable)this.dgvDictionary.DataSource;
DataSet ds = new DataSet();
ds.Tables.Add(dt.copy());
ds.WriteXml(this.saveFileDialog1.FileName);
MessageBox.Show("数据成功保存到" + this.saveFileDialog1.FileName, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
#endregion
- c# datagridview导出导入excel 如果用流的方式打开,可以导出,无法读取
- c# Datagridview控件导入/导出excel表格
- datagridview导入导出excel
- c# datagridview 导出excel
- c# datagridview 导出excel
- C# dataGridView导出Excel
- C# datagridview导出excel
- C# datagridview 导出excel
- C# datagridview导出Excel
- C# DataGridView导出Excel
- datagridview 导出excel的两种方式
- Winform datagridview Excel 导入导出
- c# datagridview 导出excel的保存问题
- C# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据;从Excel导入到DataGridView[转http://yuunagi.blogbus.com/logs/38361242.html]
- C# EXCEL 导入导出类(OLEDB的方式)
- c# datagridview导出到excel
- C# dataGridView 导出Excel文件
- c# datagridview导出到excel
- Android AlarmManager 使用指南
- xp和win 2003远程桌面强制进入命令_远程登录t人命令
- OSI七层模型与TCP/IP五层模型(网摘)
- Android中的TextView 、EditText、Activity、Intent实例小计算器
- hdu3666差分约束系统
- c# datagridview导出导入excel 如果用流的方式打开,可以导出,无法读取
- 初学python socket编程,client端无法运行
- Android系统如何实现UI的自适应
- 品悟性能优化学习笔记二
- appro dm368ipnc nandwriter的ubl和u-boot烧写问题以及diagnostic for dm368的诊断程序
- 教程:深入理解Flash的沙箱 – Application Domains
- python学习笔记(一):文件操作
- 三星 2440 开发版 USB U盘 常见问题 解决
- 教程:深入理解Flash的沙箱 – Security Domains1