protected void LinkButton1_Click(object sender, EventArgs e)
{
//try
//{
string mystring = "Provider= Microsoft.Jet.OLEDB.4.0; Data Source ='C:\\Documents and Settings\\Administrator\\桌面\\订单客户.xls'; Extended Properties='Excel 8.0; HDR=YES;'";
OleDbConnection OleDbconn = new OleDbConnection(mystring);
OleDbDataAdapter DataAdapter = new OleDbDataAdapter("select * from [Sheet1$]", OleDbconn);
DataSet Ds = new DataSet();
DataAdapter.Fill(Ds);
if (Ds.Tables[0].Rows.Count > 0)
{
//string a = "";
//a = Ds.Tables[0].Columns[3].ToString();
//Response.Write(a);
string str = "";
OleDbConnection con = new OleDbConnection(" Provider=sqlOLEDB;Server =LEMO-634D58EBEF\\LEMO;database=DaoHang; pwd =lemo; uid = sa;");
con.Open();
OleDbCommand OleDbcomm = null;
for (int i = 0; i < Ds.Tables[0].Rows.Count; i++)
{
str = "insert into 数据导入 (Phone) values('"; str += Ds.Tables[0].Rows[i].ItemArray[3].ToString() + "')";
try
{ OleDbcomm = new OleDbCommand(str, con); OleDbcomm.ExecuteNonQuery(); Response.Write("插入成功!"); }
catch
{
Response.Write("插入失败!");
}
}
con.Close();
}
}这是我写的第一个方法!简单直观!是测试用的!但是总是提示“找不到可安装的ISAM”?求解决!
protected void LinkButton1_Click(object sender, EventArgs e)
{
string fileName = DateTime.Now.ToString("yyyy.MM.dd.hh.mm.ss") + ".xls";
if (FileUpExcel.FileName.Length > 0)
{
string FileName = FileUpExcel.FileName;
string FileTitle = FileName.Substring((FileName.Length - 4));
if (FileTitle != ".xls")
{
Response.Write("<script>alert('输入正确格式!')</script>");
return;
}
else
{
FileUpExcel.SaveAs(Server.MapPath("~/Excel/ShopData/" + fileName));
}
}
else
{
Response.Write("<script>alert('选择Excel文件!')</script>");
return;
}
string PathFile = Server.MapPath("~/Excel/ShopData/" + fileName);
PathFile = Server.MapPath("~/Excel/ShopData/2011.10.24.23.27.xls");
this.FileUpExcel.PostedFile.SaveAs(PathFile);
SltExcel(PathFile);
} protected void SltExcel(string fileName)
{
using (DataSet ds = ExcelToDataTable(fileName))
{
string a = "";
a = ds.Tables[0].Columns[3].ToString();
Response.Write(a);
if (ds.Tables[0].Rows.Count > 0)
{
string str = "";
OleDbConnection con = new OleDbConnection("Provider=sqlOLEDB; Server =LEMO-634D58EBEF\\LEMO;database=DaoHang; pwd =lemo; uid = sa;");
con.Open();
OleDbCommand OleDbcomm = null;
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
str = "insert into DataLoad (Phone) values('" ; str += ds.Tables[0].Columns[3].ToString() + "')";
try
{
OleDbcomm = new OleDbCommand(str, con);
OleDbcomm.ExecuteNonQuery();
Response.Write("插入成功!");
}
catch
{
Response.Write("插入失败!");
}
}
con.Close();
}
}
}
#region 获取Excel 表格 protected DataSet ExcelToDataTable(string strExcelFileName)
{
//源的定义
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" + "Extended Properties='Excel 8.0;HDR=YES;IMEX=2';";
string strExcel = "select * from [Sheet1$]";
//定义存放的数据表
//连接数据源
using (OleDbConnection conn = new OleDbConnection(strConn))
{
//适配到数据源
using (OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn))
{
using (DataSet ds = new DataSet())
{
conn.Open();
adapter.Fill(ds, "shop");
conn.Close(); return ds;
}
}
}
}
#endregion
这是第二种方法,第二种先把表放到程序中了,发现依然报错!内容是“无效的授权说明连接字符串属性无效”
后来考虑到是不是数据源绑定的路径错误了,然后我试着运行第二种代码后,调试把重新得到的路径放到第一种上面,依然错误,请高手指教!我想会不会我得到的ds是错误的?我测试了,好像那东西好像真的是错误的!请教正确方法!=.=
{
//try
//{
string mystring = "Provider= Microsoft.Jet.OLEDB.4.0; Data Source ='C:\\Documents and Settings\\Administrator\\桌面\\订单客户.xls'; Extended Properties='Excel 8.0; HDR=YES;'";
OleDbConnection OleDbconn = new OleDbConnection(mystring);
OleDbDataAdapter DataAdapter = new OleDbDataAdapter("select * from [Sheet1$]", OleDbconn);
DataSet Ds = new DataSet();
DataAdapter.Fill(Ds);
if (Ds.Tables[0].Rows.Count > 0)
{
//string a = "";
//a = Ds.Tables[0].Columns[3].ToString();
//Response.Write(a);
string str = "";
OleDbConnection con = new OleDbConnection(" Provider=sqlOLEDB;Server =LEMO-634D58EBEF\\LEMO;database=DaoHang; pwd =lemo; uid = sa;");
con.Open();
OleDbCommand OleDbcomm = null;
for (int i = 0; i < Ds.Tables[0].Rows.Count; i++)
{
str = "insert into 数据导入 (Phone) values('"; str += Ds.Tables[0].Rows[i].ItemArray[3].ToString() + "')";
try
{ OleDbcomm = new OleDbCommand(str, con); OleDbcomm.ExecuteNonQuery(); Response.Write("插入成功!"); }
catch
{
Response.Write("插入失败!");
}
}
con.Close();
}
}这是我写的第一个方法!简单直观!是测试用的!但是总是提示“找不到可安装的ISAM”?求解决!
protected void LinkButton1_Click(object sender, EventArgs e)
{
string fileName = DateTime.Now.ToString("yyyy.MM.dd.hh.mm.ss") + ".xls";
if (FileUpExcel.FileName.Length > 0)
{
string FileName = FileUpExcel.FileName;
string FileTitle = FileName.Substring((FileName.Length - 4));
if (FileTitle != ".xls")
{
Response.Write("<script>alert('输入正确格式!')</script>");
return;
}
else
{
FileUpExcel.SaveAs(Server.MapPath("~/Excel/ShopData/" + fileName));
}
}
else
{
Response.Write("<script>alert('选择Excel文件!')</script>");
return;
}
string PathFile = Server.MapPath("~/Excel/ShopData/" + fileName);
PathFile = Server.MapPath("~/Excel/ShopData/2011.10.24.23.27.xls");
this.FileUpExcel.PostedFile.SaveAs(PathFile);
SltExcel(PathFile);
} protected void SltExcel(string fileName)
{
using (DataSet ds = ExcelToDataTable(fileName))
{
string a = "";
a = ds.Tables[0].Columns[3].ToString();
Response.Write(a);
if (ds.Tables[0].Rows.Count > 0)
{
string str = "";
OleDbConnection con = new OleDbConnection("Provider=sqlOLEDB; Server =LEMO-634D58EBEF\\LEMO;database=DaoHang; pwd =lemo; uid = sa;");
con.Open();
OleDbCommand OleDbcomm = null;
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
str = "insert into DataLoad (Phone) values('" ; str += ds.Tables[0].Columns[3].ToString() + "')";
try
{
OleDbcomm = new OleDbCommand(str, con);
OleDbcomm.ExecuteNonQuery();
Response.Write("插入成功!");
}
catch
{
Response.Write("插入失败!");
}
}
con.Close();
}
}
}
#region 获取Excel 表格 protected DataSet ExcelToDataTable(string strExcelFileName)
{
//源的定义
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" + "Extended Properties='Excel 8.0;HDR=YES;IMEX=2';";
string strExcel = "select * from [Sheet1$]";
//定义存放的数据表
//连接数据源
using (OleDbConnection conn = new OleDbConnection(strConn))
{
//适配到数据源
using (OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn))
{
using (DataSet ds = new DataSet())
{
conn.Open();
adapter.Fill(ds, "shop");
conn.Close(); return ds;
}
}
}
}
#endregion
这是第二种方法,第二种先把表放到程序中了,发现依然报错!内容是“无效的授权说明连接字符串属性无效”
后来考虑到是不是数据源绑定的路径错误了,然后我试着运行第二种代码后,调试把重新得到的路径放到第一种上面,依然错误,请高手指教!我想会不会我得到的ds是错误的?我测试了,好像那东西好像真的是错误的!请教正确方法!=.=
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货