现在要把excel的数据导入sql,但execl的数据要转换,比如姓名一列,导入sql的话,就要存入每个姓名的ID,而不是姓名本身?请教这种怎么做?
我的思路是,先读excel,再把数据转换,然后再一行一行导入sql,不知道对不对?
请教怎么读excel,最好有例子,谢谢
我的思路是,先读excel,再把数据转换,然后再一行一行导入sql,不知道对不对?
请教怎么读excel,最好有例子,谢谢
解决方案 »
- C#TextBox控件不停的AppendText时,如何保持滚动条位置不变
- 未将对象引用设置到对象实例
- A、B两个目录下的一个相同文件1.doc,这两个文件若是同一个文件,则应该哪些属性完全一样
- 请问Dns.GetHostEntry(server).AddressList,怎么保证得到的[0]是ipv4的地址呀?
- 如何访问远程数据库
- 请教一个Socket发送的问题
- 如何在 ArrayList中删除一行数据
- 一个关于.NET Remoting远程广播问题(有源码)?
- 怎样根据DataReader读出来的一列条件,填写一个DataTable
- 请问,如何用 c# 程序实现 在 IIS 服务器设置里面,HTTP 头,mime 添加文件类型 比如 .exe 等类型
- 如何在html文件中用javascrip调用winform写的带有参数的方法啊,谢谢!!
- comboBox控件问题?
或者通过oledb来读
在这里搜索一下就应该可以搜索到很多例子
至于转换的话,建议像楼上所讲的那样,先导入到临时表,再通过联接来操作,效率应该会好些
//设置空值
object objMissing=System.Reflection.Missing.Value;
//打开excel文件
my=new Excel.ApplicationClass();
my.Visible=true;//打开工作簿
Excel.Workbook mybook=my.Workbooks.Open(path1.Trim(),objMissing,objMissing, objMissing,
objMissing, objMissing, objMissing,
objMissing, objMissing, objMissing,
objMissing, objMissing, objMissing);Excel.Worksheet mysheet=(Excel.Worksheet)mybook.Worksheets.get_Item(1);
//分割字符串
string s,a,b;
a="";
b="";
s=((Excel.Range)mysheet.Cells[16,1]).Value.ToString();//读取数据
MessageBox.Show( "字符为 " + s);----------------------------
这是读取EXCEL文件中的数据,
先要添加 项目--引用--com--Microsoft excel 9.0 library对象库上面有一句错了
Excel.ApplicationClass my=new Excel.ApplicationClass();
/// 读取Excel文档
/// </summary>
/// <param name="strExcelFileName">文件名称</param>
/// <param name="strSheetName">要读取的Sheet名</param>
/// <returns>返回一个数据表</returns>
/// <res>
/// 基于OleDB的方式读取指定数据库数据
/// 只能读取一页Sheet
/// </res>
public static DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" + "Extended Properties=Excel 8.0;";
string strExcel = string.Format("select * from [{0}$]", strSheetName);
DataSet ds = new DataSet(); using (OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open(); OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName); conn.Close();
}
return ds.Tables[strSheetName];
}这样转成DataTable你就爱怎么操作怎么操作吧~