Excel与SQL数据倒换的问题1、首先读取一个Excel中的数据,存入dataset,并已在datagridview中显示出来了。现在需要在点击一个btnInsert时将所有的数据插入到数据库中的某一张表中。因为考虑到每次读取的Excel数据不同,所以不能把列给写死了。不知道该怎么做了。2、在读取Excel时因为里面的表名各不相同,不知有没办法每次都动态的取到每个工作簿中的工作表名?我现在的方法是把每个工作表的名字都改成sheet1,这样太过于麻烦了。请各位高手踊跃赐教!
解决方案 »
- ISPostBack问题!
- 为什么 C# GetHostName 返回127.0.0.1
- 谁帮我把这两个VB6的代码转换为C#的.分不够再送,谢谢!
- 怎么获得存储过程的返回值。
- Richtextbox的问题,烦呢,这破控件咋那么难用!
- 窗体运行是闪的厉害(特别是加载动态控件想波浪一样),如何解决?
- 如何得到我选中的是DataGrid中的那一列(回答正确分全给)
- 怎么控制其他.exe程序开启其对应的文件.
- 请教一个重画显示背景图片的问题
- 如何去掉小数部分的0?在线急等高人相助~
- 如何把dv.RowFilter筛选出来的内容附给一个DataTable或DataView?
- 在串口通信发送中,怎样让TestBox中的内容转化为Byte数组发送???
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source="
+ _xlsPathName + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'"; objConn = new OleDbConnection(strConn);
objConn.Open();
DataTable schemaTable = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
OleDbDataAdapter sqlada = new OleDbDataAdapter();
foreach (DataRow dr in schemaTable.Rows)
{
string strSql = "Select * From [" + dr[2].ToString().Trim() + "]";
OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
sqlada.SelectCommand = objCmd;
sqlada.Fill(ds, dr[2].ToString().Trim());
}
objConn.Close();GetOleDbSchemaTable取得所有sheet表
要得到列数是很容易的,DataSet或是DataGridView中都可以取得到问题是如何把DataSet的数据一次性全插入到数据库的表当中去
如果动态生成新表,每个EXCEL插一个表好办!
如果都要插同一个表,不知道楼主想如何解决。
暂时不考虑每次插入同一个表吧,现在只想先解决如何把一个excel表导入到数据库中
http://dotnet.aspx.cc/ShowDetail.aspx?id=C673E2CD-3F1E-4919-8CE0-D69B894A0599
谢谢楼上的好心不过第一个是在SQL里导的,我需要的是在程序里动态的转换过来第二个则是读取的方法,关于读取1楼的兄弟已经给出了很好的代码了