ASP 将excel表里的数据添加到SQL的表中

上传excel到服务器,我已经实现了!现在我想当我点击导入数据的时候,可以把excel表里的数据添加到SQL的s_zj这张表上!excel表里面的字段顺序什么的,都和s_... 上传excel到服务器,我已经实现了!现在我想当我点击导入数据的时候,可以把excel表里的数据添加到SQL 的s_zj这张表上!
excel表里面的字段顺序什么的,都和s_zj这张表的一样了!
各位大侠可以给我具体的后台代码吗?我比较菜,最好能详细点!谢谢
展开
 我来答
zyklzymywn
2010-10-14
知道答主
回答量:6
采纳率:0%
帮助的人:4万
展开全部
protected void Button1_Click(object sender, EventArgs e)
{
try
{
if (FileUpload1.PostedFile.FileName == "")
{
Response.Write("<script language='javascript'>alert('上传文件不能为空!')</script>");
//Label1.Text = "上传文件不能为空!";
}
else
{
string filepath = FileUpload1.PostedFile.FileName;
string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);
string serverpath = Server.MapPath("File/") + filename;
FileUpload1.PostedFile.SaveAs(serverpath);
//Response.Write("<script language='javascript'>alert('上传成功!')</script>");
}
}
catch (Exception error)
{
Response.Write("<script language='javascript'>alert('出现错误!')</script>");
}
--以上是上传的代码

string StyleSheet = "Sheet1";
LoadData1(StyleSheet);--导入数据

public void LoadData1(string StyleSheet)
{
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("File/上传的文件名") + ";Extended Properties=Excel 8.0";
OleDbConnection myCon = new OleDbConnection(strCon);
myCon.Open();
DataSet myDataSet = new DataSet();
string strSql = "select * from [" + StyleSheet + "$]";
OleDbDataAdapter myCommand = new OleDbDataAdapter(strSql,myCon);
myCommand.Fill(myDataSet, "[" + StyleSheet + "$]");

DataTable dt = myDataSet.Tables["[" + StyleSheet + "$]"];
myCon.Close();
myCommand.Dispose();
for (int j = 0; j < dt.Rows.Count; j++)
{
string uid = dt.Rows[j][0].ToString();
--此处得到具体的字段
string sqlInsert = string.Format(@"insert into s_zj(表字段) values('{0}',。。。。)", uid, 。。。);
dbc.exeComm(sqlInsert);
}
Response.Write("<script>alert('导入完成!')</script>");
}
}
永远的杨辰
2010-10-13 · TA获得超过1607个赞
知道小有建树答主
回答量:1091
采纳率:0%
帮助的人:1108万
展开全部
可以给你个思路

1,数据库仅仅是存数据的文件,数据库有很多种如常见的sql,access,mysql,等,不常用做web的excel,以及罕见的txt等等。所以,你这个问题相当于从一个数据库中复制数据到另外一个数据库。

2.既然你已经会上传了,这个问题简化为以下步骤
a。连接打开excel数据库,连接打开sql数据库
b。读取excel数据库中的数据,并判断sql中是否存在此数据
c。若不存在则存入数据,存在,则不操作
d。跳转至下一条数据,并重复a,b,c,d操作
e。若存入完毕,则结束

3.你需要了解的。
你需要了解作为excel数据库与你之前接触的数据库有什么区别,在sql语句方面有什么要注意的。
赶紧操作吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhouxiaobinks
2010-10-14 · TA获得超过425个赞
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:232万
展开全部
你好,我是使用poi解析Excel,每一行作为一个对象加载到List的。然后导入到数据库。
你可以做个参考:
public List PoiExcel(){
List ml = new ArrayList();
HSSFWorkbook wookbook;
try {
wookbook = new HSSFWorkbook(new FileInputStream("E://students3.xls"));
HSSFSheet sheet = wookbook.getSheetAt(0);
System.out.println(sheet);
int rows = sheet.getPhysicalNumberOfRows();
HSSFRow roww = sheet.getRow(1);
int cells=roww.getLastCellNum();
int i=0;
String ce = null;
int la=0;
Excel e = new Excel();
//遍历行
for (i = 0; i < rows; i++) {
HSSFRow row = sheet.getRow(i);
if (row != null) {
System.out.println(cells);
// int cells = row.getPhysicalNumberOfCells();
//遍历列
for (int j = 0; j < cells; j++) {
//cell是对应行对应列里的值
HSSFCell cell = row.getCell(j);
if(cell == null){
ce=null;
}else{
ce=cell.toString();
int indexof=ce.indexOf(".");
if(indexof>0){
ce=ce.substring(0,indexof);
}
}
la++;
int a=0;
System.out.println(cell);
}
}
}

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ml;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式