excel导入sql时出现错误,请大侠指点。

junjue11 2013-06-18 11:10:37
后端代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
public partial class text : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
public DataSet ExcelToDS(string Path,string strtable)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
string tableName = schemaTable.Rows[0][2].ToString().Trim();
strExcel = "select * from " + tableName;
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds, strtable); ///////////////////出错的地方
return ds;
}
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件
{
Response.Write("<script>alert('请您选择Excel文件')</script> ");
return;//当无文件时,返回
}
string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
if (IsXls != ".xls")
{
Response.Write("<script>alert('只可以选择Excel文件')</script>");
return;//当选择的不是Excel文件时,返回
}
//string strCon = "Data Source=PCOS-01291402;Initial Catalog=KingangsDB;User ID=sa;Password=123456";
//SqlConnection cn = new SqlConnection(strCon);
//cn.Open();
string filename = FileUpload1.FileName; //获取Execle文件名 DateTime日期函数
string savePath = Server.MapPath(("~\\upfiles\\") + filename);//Server.MapPath 获得虚拟服务器相对路径
FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
DataSet ds = ExcelToDS(savePath,filename); //调用自定义方法
}
}


前端代码:
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server"
Text="上传" onclick="Button1_Click" />


myCommand.Fill(ds, strtable); 测试是这里出错,提示 FROM 子句语法错误。
我看不错错在哪里,请大侠指教。。。。谢谢


...全文
148 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
junjue11 2013-06-19
  • 打赏
  • 举报
回复
引用 4 楼 junjue11 的回复:
[quote=引用 1 楼 KaddyChan 的回复:] tableName 错了吧,跟踪一下看是什么,正确的格式是excel的sheet名+"$" 比如想读excel的sheet1,select语句就是strExcel = "select * from [sheet1$]";
我的那个表名是:s 跟踪出来的结果是: select * from s$ 没有一对[]号[/quote] 搞定了。加个[] 号就可以了。
junjue11 2013-06-19
  • 打赏
  • 举报
回复
引用 1 楼 KaddyChan 的回复:
tableName 错了吧,跟踪一下看是什么,正确的格式是excel的sheet名+"$" 比如想读excel的sheet1,select语句就是strExcel = "select * from [sheet1$]";
我的那个表名是:s 跟踪出来的结果是: select * from s$ 没有一对[]号
howtodown 2013-06-19
  • 打赏
  • 举报
回复
引用 1 楼 KaddyChan 的回复:
tableName 错了吧,跟踪一下看是什么,正确的格式是excel的sheet名+"$" 比如想读excel的sheet1,select语句就是strExcel = "select * from [sheet1$]";
应该跟踪一下
喂大的程序员 2013-06-18
  • 打赏
  • 举报
回复
没想出来
KaddyChan 2013-06-18
  • 打赏
  • 举报
回复
tableName 错了吧,跟踪一下看是什么,正确的格式是excel的sheet名+"$" 比如想读excel的sheet1,select语句就是strExcel = "select * from [sheet1$]";

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧