ASP 将excel表里的数据添加到SQL的表中
上传excel到服务器,我已经实现了!现在我想当我点击导入数据的时候,可以把excel表里的数据添加到SQL的s_zj这张表上!excel表里面的字段顺序什么的,都和s_...
上传excel到服务器,我已经实现了!现在我想当我点击导入数据的时候,可以把excel表里的数据添加到SQL 的s_zj这张表上!
excel表里面的字段顺序什么的,都和s_zj这张表的一样了!
各位大侠可以给我具体的后台代码吗?我比较菜,最好能详细点!谢谢 展开
excel表里面的字段顺序什么的,都和s_zj这张表的一样了!
各位大侠可以给我具体的后台代码吗?我比较菜,最好能详细点!谢谢 展开
3个回答
展开全部
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>");
}
}
{
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>");
}
}
展开全部
可以给你个思路
1,数据库仅仅是存数据的文件,数据库有很多种如常见的sql,access,mysql,等,不常用做web的excel,以及罕见的txt等等。所以,你这个问题相当于从一个数据库中复制数据到另外一个数据库。
2.既然你已经会上传了,这个问题简化为以下步骤
a。连接打开excel数据库,连接打开sql数据库
b。读取excel数据库中的数据,并判断sql中是否存在此数据
c。若不存在则存入数据,存在,则不操作
d。跳转至下一条数据,并重复a,b,c,d操作
e。若存入完毕,则结束
3.你需要了解的。
你需要了解作为excel数据库与你之前接触的数据库有什么区别,在sql语句方面有什么要注意的。
赶紧操作吧。
1,数据库仅仅是存数据的文件,数据库有很多种如常见的sql,access,mysql,等,不常用做web的excel,以及罕见的txt等等。所以,你这个问题相当于从一个数据库中复制数据到另外一个数据库。
2.既然你已经会上传了,这个问题简化为以下步骤
a。连接打开excel数据库,连接打开sql数据库
b。读取excel数据库中的数据,并判断sql中是否存在此数据
c。若不存在则存入数据,存在,则不操作
d。跳转至下一条数据,并重复a,b,c,d操作
e。若存入完毕,则结束
3.你需要了解的。
你需要了解作为excel数据库与你之前接触的数据库有什么区别,在sql语句方面有什么要注意的。
赶紧操作吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,我是使用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;
}
你可以做个参考:
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询