页面手动给dataviewgrid添加数据,将数据复制给datatable,表示添加的值为空,但是可以检测到有新增的行,但是cells的数据为空???????? datagridviewdatatable 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 晕了,至于重新开一贴吗就是最后一行新增行,里面是null,不能ToString()ToString()之前一定要先判断是否为null 我新增的为什么为null啊,不应该啊。 还是存在问题,我第五行明明输入进去了数据,就是4 yz 那一行,但是确认为那一行为空? for (int i = 0; i < dt.Columns.Count; i++) { if (item.Cells[i].Value != null) dr[0] = item.Cells[i].Value.ToString(); } 还有,你的4 yz那一行的索引是3行数是从0开始的索引是4的那一行,数据是null. 1.你说的对的,那行是有数据的并且也添加到了dt上了,问题出在了这里: OleDbCommandBuilder odcb = new OleDbCommandBuilder(myDataAdapter); odcb.QuotePrefix = "["; //用于搞定INSERT INTO 语句的语法错误 odcb.QuoteSuffix = "]"; myDataAdapter.Update(myDataSet, "[Sheet1$]"); //更新数据集对应的表 dataGridView1.DataSource = myDataSet.Tables[0].DefaultView; //显示到datagridview;2.在dt添加完毕后,执行上面代码,意图是要更新此dt到excel中,看这句:myDataAdapter.Update(myDataSet, "[Sheet1$]"); //更新数据集对应的表也就是我将myDataSet更新过去,所以dt需要引用myDataSet,也解释了为什么是第二句而不是第一句,终于搞清楚点了。//DataTable dt = new DataTable();DataTable dt = myDataSet.Tables[0]; 还真的没有试过用OLEDB的insert语句插入excel使用excel的dll,在新建/打开的时候,是可以直接对单元格进行操作的当然读取的时候,因为网上的代码都是用OLEDB,所以只能按数据库读,不知道直接读单元格怎么个读法还是换NPOI吧,可以直接循环单元格进行操作,不要老想用简便的办法直接把整个datatable扔进excel里了... 我在用webbrowser,有木有高手指点。vs版本2012.office版本2007,就是不能在窗口里打开,我查了两天了,都市c#.net的方法。需要仔细研究下。 怎么在c# winform下实现360样式的界面 .NET中有没有关于计算字符串相似度的现成的函数? c# 中treeview点击节点后,通过Sql查找出来的信息显示到DataGridView中 数据表的导出、传输、导入 c# 邮件客户端的问题 请问如何点击按钮实现复制图片的地址呢?? 求一段sql,急! 如何更改datagrid显示的值? datagrid高度的自动调节问题 用Excel.dll取Excel表中的数据速度很慢,有没有更好的方法 wpf IMage控件可以写汉字么不是写在图片上 C# 如何打印独立的水晶报表 文档
就是最后一行新增行,里面是null,不能ToString()
ToString()之前一定要先判断是否为null
for (int i = 0; i < dt.Columns.Count; i++)
{
if (item.Cells[i].Value != null)
dr[0] = item.Cells[i].Value.ToString();
}
行数是从0开始的
索引是4的那一行,数据是null.
OleDbCommandBuilder odcb = new OleDbCommandBuilder(myDataAdapter);
odcb.QuotePrefix = "["; //用于搞定INSERT INTO 语句的语法错误
odcb.QuoteSuffix = "]";
myDataAdapter.Update(myDataSet, "[Sheet1$]"); //更新数据集对应的表
dataGridView1.DataSource = myDataSet.Tables[0].DefaultView; //显示到datagridview;
2.在dt添加完毕后,执行上面代码,意图是要更新此dt到excel中,看这句:
myDataAdapter.Update(myDataSet, "[Sheet1$]"); //更新数据集对应的表
也就是我将myDataSet更新过去,所以dt需要引用myDataSet,也解释了为什么是第二句而不是第一句,终于搞清楚点了。
//DataTable dt = new DataTable();
DataTable dt = myDataSet.Tables[0];
使用excel的dll,在新建/打开的时候,是可以直接对单元格进行操作的
当然读取的时候,因为网上的代码都是用OLEDB,所以只能按数据库读,不知道直接读单元格怎么个读法
还是换NPOI吧,可以直接循环单元格进行操作,不要老想用简便的办法直接把整个datatable扔进excel里了...