Excel转换为sql语句导入Oracle数据库
2009年01月16日 星期五 20:33
package excel; import java.io.File; import java.io.FileWriter; import java.io.IOException; import jxl.Sheet; import jxl.Workbook; public class ExcelToInsert {excel连接sql数据库教程 public static void main(String[] args) { String table_name = "OPERATION_FILTER"; //在此输入表名 int ID = 0; int OPERATION_ID = 0; int USER_ID = 0; int STATUS = 0; String USER_CN = ""; String USER_NAME = ""; String SQL = ""; final String EXL_NAME = "OPERATION_FILTER"; final String BASE_PATH = "D:/data/"; // BasePath final String IN_EXL_PATH = BASE_PATH + EXL_NAME + ".xls"; // excelPath StringBuffer sb = null; FileWriter fw = null; int rows = 0; int columns = 0; try { fw = new FileWriter(BASE_PATH + EXL_NAME + ".sql"); final String start = "REM INSERTING into " + table_name; fw.write(start + "\r\n"); // newline // read excel file try { Workbook rwb = Workbook(new File(IN_EXL_PATH)); Sheet rs[] = Sheets(); for (int i = 0; i < rs.length; i++) { rows = rs[i].getRows(); columns = rs[i].getColumns(); System.out.println(columns+","+rows); String[] ldapattr = new String[columns]; for (int j = 0; j < rows; j++) { if (j == 0) { for (int g = 0; g < columns; g++) { ldapattr[g] = rs[i].getCell(g, j).getContents(); } continue; } sb = new StringBuffer(); sb = sb.append("\r\n"); ID = Integer.parseInt(rs[i].getCell(0, j).getContents().trim()); OPERATION_ID = Integer.parseInt(rs[i].getCell(1, j).getContents().trim()); USER_ID = Integer.parseInt(rs[i].getCell(2, j).getContents().trim()); USER_CN = rs[i].getCell(3, j).getContents().trim(); USER_NAME = rs[i].getCell(4, j).getContents().trim(); STATUS = Integer.parseInt(rs[i].getCell(5, j).getContents().trim()); System.out.println("VALUE:"+ID+","+OPERATION_ID+","+USER_ID +","+USER_CN+","+USER_NAME+","+STATUS); SQL = "INSERT INTO TABLE " + table_name +"(ID,OPERATION_ID,USER_ID,USER_CN," + "USER_NAME,STATUS) VALUES "+ "("+ID+","+OPERATION_ID+","+USER_ID+"," + "\""+USER_CN+"\""+","+"\""+USER_NAME+"\""+","+STATUS+")"; sb = sb.append(SQL + "\r\n"); fw.String()); } } } catch (final Exception e) { ID = 1; } fw.close(); } catch (final IOException ex) { ex.printStackTrace(); } } } Excel 表A、B、C、D、E、F列名分别是ID、OPERATION_ID \USER_ID、USER_CN、USER_NAME、STATUS。一共8行数据 最后会生成一个和Excel表相同的sql文件名,里面的内容如下: REM INSERTING into OPERATION_FILTER INSERT INTO TABLE OPERATION_FILTER(ID,OPERATION_ID,USER_ID,USER_CN,USER_NAME,STATUS) VALUES (1,1,1,"admin","超级管理员",1); INSERT INTO TABLE OPERATION_FILTER(ID,OPERATION_ID,USER_ID,USER_CN,USER_NAME,STATUS) VALUES (2,2,1,"admin","超级管理员",1); INSERT INTO TABLE OPERATION_FILTER(ID,OPERATION_ID,USER_ID,USER_CN,USER_NAME,STATUS) VALUES (3,3,1,"admin","超级管理员",1); INSERT INTO TABLE OPERATION_FILTER(ID,OPERATION_ID,USER_ID,USER_CN,USER_NAME,STATUS) VALUES (4,4,1,"admin","超级管理员",1); INSERT INTO TABLE OPERATION_FILTER(ID,OPERATION_ID,USER_ID,USER_CN,USER_NAME,STATUS) VALUES (5,5,1,"admin","超级管理员",1); INSERT INTO TABLE OPERATION_FILTER(ID,OPERATION_ID,USER_ID,USER_CN,USER_NAME,STATUS) VALUES (6,6,1,"admin","超级管理员",1); INSERT INTO TABLE OPERATION_FILTER(ID,OPERATION_ID,USER_ID,USER_CN,USER_NAME,STATUS) VALUES (7,7,1,"admin","超级管理员",1); INSERT INTO TABLE OPERATION_FILTER(ID,OPERATION_ID,USER_ID,USER_CN,USER_NAME,STATUS) VALUES (8,8,1,"admin","超级管理员",1); |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论