如何解决C#中用datagrid导出excel时,数据内容总是重复出现两次?

private void button1_Click(object sender, System.EventArgs e)
{
string constr=@"server=zzu-xurui;"+"Integrated Security=SSPI;"+"database=机组运行数据";
SqlConnection conn=new SqlConnection(constr);
da=new SqlDataAdapter("SELECT * FROM table1",conn);
da.Fill(dataSet1,"table1");
DataTable dt=dataSet1.Tables["table1"];

int row_index ,col_index;
row_index = 1;
col_index = 1;

Excel.ApplicationClass excel = new Excel.ApplicationClass();
excel.Workbooks.Add(true);

//显示列名
foreach(DataColumn dcHeader in dt.Columns)
excel.Cells[row_index, col_index++] = dcHeader.ColumnName;

//导出内容到Excel
foreach(DataRow dr in dt.Rows)
{
col_index = 0;
foreach(DataColumn dc in dt.Columns)
{
excel.Cells[row_index+1, col_index+1] = dr[dc];
col_index++;
}
row_index++;
}
excel.Visible = true;

}
程序如上,可是出来的EXCEL中数据库中的数据总是导出2次/.不知道错在哪里,请高手们帮个忙,谢谢,O(∩_∩)O谢谢!
数据表中已经查过,没有重复!!

代码上取数只有一次,循环按代码逻辑来看,也只能把表中的数全部写道Excel中,而你的Excel中确有2次数,判断为,肯定有地方默认刷新上次操作了,你点击按钮这个操作完成后,触发了刷新功能,断点调试下就看出来了
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-12
程序上没有出现重复添加的代码,这时要看看数据表中是不是数据重复了.

如果没有重复,
再看看是否有刷新一类的代码!或者JS脚本!

如何解决C#中用datagrid导出excel时,数据内容总是重复出现两次?
代码上取数只有一次,循环按代码逻辑来看,也只能把表中的数全部写道Excel中,而你的Excel中确有2次数,判断为,肯定有地方默认刷新上次操作了,你点击按钮这个操作完成后,触发了刷新功能,断点调试下就看出来了

C#dataGrid导出到EXCEL,列名与dataGrid名一样
如果直接导出dataGrid到excel那么就修改dataGrid数据库查询语句,用as把列名改了,然后对应修改dataGrid的列字段名字的匹配成修改的,如果用excel模板则直接在模板上做好就行拉

winform的datagridview导出excel如何让格式保持不变
你应该是直接双击打开excel文件吧,除非你声明的这些格子中的数据位文本,否则长串的数字都会变成科学计数法,你可以使用excel打开方式,一步一步打开,使用它的文本导入方法,把所有的列数据格式选择为文本,它就不会转换成科学计数法

c# datagridview 导出excel 身份证变成科学计数法问题!!!
这个是你的数据源excel表中的格式问题。只要修改列的格式为“文本”就行了。操作:在你的excel文件里,选择身份证那一列,点右键,然后选择“设置单元格格式”,把“数字”下面的“分类”,设置成“文本”。

C# 导出Excel的6种简单方法实现
当需要将数据数组插入或修改到 Excel 工作表中的现有数据中时,可以利用 ImportArray 方法。这种方法特别适用于固定范围的数据。在“人均开支”场景中,例如添加新用户 Paul Pogba 的开销或更新所有人员 12 月的开销,可以轻松实现。6. **CSV 导出到 Excel CSV 文件是用于生成轻量级报告或列数少、行数...

C#关于datagridview的操作,显示数据不完整。
你这个应该是用的自动绑定, 那个列也是自动生成的 你可以调整一下列宽, 好像有个DefaultColumnStyle, 你在那里设置一下 另外,你的表格没有表头,他把你的第一条数据当成表头了 你最好加上一个表头,然后手动的去设置绑定列,这样能更灵活一些

老大,我将dataGrid 控件中的数据导出到Excel时,文件名总是被乱码,而...
AppendHeader里面设置filename的问题吧。GBK应该也是可以的,用.getBytes("GBK")

数据库导出excel为什么会导出后,又另外打开了一个新的excel窗口?
1、On Error Resume Next If Err.Number <> 0 Then Set xlApp = CreateObject("Excel.Application")中间没有语句,肯定不会出错,所以 err.number 肯定为0,这里判断无任何意义。2、打开2个excel窗口,是因为你 Set xlBook = xlApp.Workbooks.Add 写了2个 最后修改代码:Private Sub Command13_...

C# windows 应用程序将datagridview 中的数据导出到excel 的代码
\/\/\/1、使用OLEDB方式读写Excel,不需要Office组件支持; \/\/\/2、支持导入导出时进度条(ProgressBar); \/\/\/3、可以将本地DataSet中的数据类型转换为对应的OleDB的数据类型导出,使导出的数据区分开时间、数字、字符串,而不是像上一版中一样全是字符串; \/\/\/4、修正了Excel2003中某些工作薄名称为汉字的表无法正确识...

在C#中,如何把DataGridview中的数据导出到一个Excel表中
public bool ExportDataGridview(DataGridView gridView, bool isShowExcle){ if (gridView.Rows.Count == 0){ return false;} \/\/创建Excel对象 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();excel.Application.Workbooks.Add(true);\/\/生成字段名称...

相似回答
大家正在搜