问题描述
car.Columns.Add("线路名称",typeof(System.String));//car.Columns.Add("线路宽度",Type.GetType("System.String"));car.Columns.Add("序号(必填)",Type.GetType("System.String"));car.Columns.Add("纬度",typeof(System.Double));car.Columns.Add("经度",typeof(System.Double));DataRownewRow;newRow=car.NewRow();newRow["线路名称"]=rcs.ToString();car.Rows.Add(newRow);for(inti=0;i<strs.Length;i++){newRow=car.NewRow();strs2=strs[i].Split('|');//car.Rows[j][0]=strs2[i+1].ToString();//car.Rows[j][1]=strs2[i+2].ToString();//car.Rows[j][2]=strs2[i+3].ToString();newRow["序号(必填)"]=strs2[1];newRow["纬度"]=strs2[2];newRow["经度"]=strs2[3];car.Rows.Add(newRow);}//strs2=strs[1].Split('|');//newRow["线路宽度"]=strs[4].ToString();//car.Rows[1][0]="线路名称";////dcar.Rows[1][2]="areaname";////car.Rows[2][0]="线路宽度(单位:米)";//car.Rows[3][0]="序号(必填)";//car.Rows[2][1]="width";dataGridView1.DataSource=car;try{UserFun.DataGridViewToExcel(dataGridView1);}catch{MessageBox.Show("导出错误,请重试!");}}
解决方案
解决方案二:
而且后面经度纬度,小数点后面的数字四舍五入了给,原来有十多位~~求大神们帮帮忙~~~
解决方案三:
使用几次Add就添加几行。自己调试代码
解决方案四:
撸主,每次DataTable.Rows.Add(DataRow)是添加一个新行比如讲一个DataRow包括6列,你要把6列都填充完,再添加不是先赋值两个字段,Add一次!你没Add一次DataRow,DataTable产生一条新行
解决方案五:
添加多行的话,代码改成car.Columns.Add("线路名称",typeof(System.String));car.Columns.Add("序号(必填)",Type.GetType("System.String"));car.Columns.Add("纬度",typeof(System.Double));car.Columns.Add("经度",typeof(System.Double));for(inti=0;i<strs.Length;i++){DataRownewRow=car.NewRow();newRow["线路名称"]=rcs.ToString();strs2=strs[i].Split('|');newRow["序号(必填)"]=strs2[1];newRow["纬度"]=strs2[2];newRow["经度"]=strs2[3];car.Rows.Add(newRow);}dataGridView1.DataSource=car;
解决方案六:
看来你都没有真正理解DataTable的操作含义啊car.Rows.Add(newRow);这句就是增加一个新行而不是你理解的那样另外数据四舍五入的问题应该是你的控件设置问题
解决方案七:
引用4楼lovelj2012的回复:
添加多行的话,代码改成car.Columns.Add("线路名称",typeof(System.String));car.Columns.Add("序号(必填)",Type.GetType("System.String"));car.Columns.Add("纬度",typeof(System.Double));car.Columns.Add("经度",typeof(System.Double));for(inti=0;i<strs.Length;i++){DataRownewRow=car.NewRow();newRow["线路名称"]=rcs.ToString();strs2=strs[i].Split('|');newRow["序号(必填)"]=strs2[1];newRow["纬度"]=strs2[2];newRow["经度"]=strs2[3];car.Rows.Add(newRow);}dataGridView1.DataSource=car;
那后面那个问题怎么解决啊大神,导出到EXCEL表的数据,经度和纬度只有10位,不知道怎么调的多一些~~~
解决方案八:
引用2楼duanzi_peng的回复:
使用几次Add就添加几行。自己调试代码
谢谢了~~~
解决方案九:
引用5楼huangcailian的回复:
看来你都没有真正理解DataTable的操作含义啊car.Rows.Add(newRow);这句就是增加一个新行而不是你理解的那样另外数据四舍五入的问题应该是你的控件设置问题
那个控件设置要怎么改啊?我能够导出一整行数据,但是光单个导出一个数据的时候就会出现这种问题。