從Excel到匯入MYSQL資料庫
為了把Excel匯入資料庫寫了這個這段程式,大概思路解釋一下
:因為匯入資料庫時欄位型別和長度、還有欄位數都是未知的,所以匯入時用了通用的欄位型別,在這裡用了text,根據需要可以自行定製欄位名,型別。這只是個簡單的例子 如果常常遇到此類問題的我建議寫個匯入你所想見的表格屬性的配置檔案(xml或property檔案都可以),這樣靈活性更強了。
還有一種更為好的辦法,把要匯入的Excel檔案另存為xml檔案,
這樣就會變成xml to database ,想匯入就容易咯
有什麼不明白可以參考:全面挖掘Java Excel API 使用方法
從Excel表格匯入msyql的例子程式碼
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import jxl.*;
public class test{
static String createTableSql="";//建立資料庫的sql
static String colType="TEXT";//欄位型別
static String key="id";//主鍵
static String charSet="utf8";//表格字元型別
static String ENGINE="InnoDB";//表格型別
static String tableName="tempExcelToMysql";//表名稱
static String colName="col";預設欄位名
static Connection conn = null;
public static void main(String args[]){
try
{
// 構建Workbook物件, 只讀Workbook物件
// 直接從本地檔案建立Workbook
// 從輸入流建立Workbook
System.out.println("start load file-------------------------");
InputStream is = new FileInputStream("E:/users.xls");//建立輸入
jxl.Workbook rwb = Workbook.getWorkbook(is);
Sheet rs = rwb.getSheet(0); //讀取第一個sheet
int colNum=rs.getColumns();//列數
int rowNum=rs.getRows();//行數
System.out.println("colNum rowNum------------------"+rowNum+","+colNum);
System.out.println("start create base-------------------------");
getConntion();
String tableSql=getCreateTableSql(rowNum,colNum);
Statement st=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
st.execute(tableSql);
st.close();
System.out.println("create base end -------------------------");
String sql=getColName(rowNum,colNum);
PreparedStatement ps=null;
String strValue="";
ps=conn.prepareStatement(sql);
for(int i=0;i
for(int j=0;j
strValue=c.getContents();
ps.setString(j+1,strValue);
}
ps.addBatch();
}
ps.executeBatch();
conn.commit();
if(ps!=null){
ps.close();
}
System.out.println(" insert end-------------------------");
close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
static String getCreateTableSql(int rowNum,int colNum)
{
//可以做成可配置檔案
createTableSql="create table "+tableName+"( `"+key+"` bigint(12) NOT NULL auto_increment, ";
String temp="";
for(int j=0;j
}
createTableSql=createTableSql+" "+temp+" PRIMARY KEY (`"+key+"`)" +
") ENGINE="+ENGINE+" DEFAULT CHARSET="+charSet+";";
return createTableSql;
}
static String getColName(int rowNum,int colNum)
{
//可以做成可配置檔案
String colSql="";
String colValue="";
for(int j=0;j
colValue=colValue+""+"?,";
}
return "insert into "+tableName+" ("+colSql.substring(0,colSql.lastIndexOf(","))+")values("+colValue.substring(0,colValue.lastIndexOf(","))+")";
}
static void getConntion()
{
try {
String driver_class = "com.mysql.jdbc.Driver";
String connection_url = "jdbc:mysql://localhost:3306/webserve?useUnicode=true&characterEncoding=utf-8";
String user_name = "root";
String db_password = "123";
Class.forName(driver_class);
conn = DriverManager.getConnection(connection_url, user_name,db_password);
}catch(Exception e){
e.printStackTrace();
}
}
static void close()
{
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750220/viewspace-909437/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java 從EXCEL匯入到資料庫JavaExcel資料庫
- 匯入excel資源到資料庫Excel資料庫
- 把Excel表資料匯入到mysqlExcelMySql
- excel 表匯入到mysqlExcelMySql
- 將excel中資料從window上匯入到linux中oracle資料庫ExcelLinuxOracle資料庫
- 如何把資料從Mysql匯入到GreenplumMySql
- 將資料從文字匯入到mysql(轉)MySql
- excel 匯入sqlyog資料庫ExcelSQL資料庫
- pl/sql developer將excel資料匯入到資料庫中SQLDeveloperExcel資料庫
- TP5.1excel匯入資料庫的程式碼?php excel如何匯入資料庫?Excel資料庫PHP
- 將excel表格匯入資料庫Excel資料庫
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- SpringBoot+Mybatis-plus整合easyExcel批次匯入Excel到資料庫+匯出ExcelSpring BootMyBatisExcel資料庫
- mysql 資料庫匯入匯出MySql資料庫
- MySQL資料庫匯入匯出MySql資料庫
- java 從EXCEL匯入到系統JavaExcel
- java 實現excel中的資料匯入到資料庫的功能JavaExcel資料庫
- asp.net 操作Excel表資料匯入到SQL Server資料庫ASP.NETExcelSQLServer資料庫
- Excel表的一些資料應用(從txt文字匯出,匯入到Excel表)薦Excel
- Excel匯入Sqlserver資料庫指令碼ExcelSQLServer資料庫指令碼
- 【mysql】資料庫匯出和匯入MySql資料庫
- mysqldump匯入匯出mysql資料庫MySql資料庫
- Mysql 資料庫匯入與匯出MySql資料庫
- .NET Core使用NPOI將Excel中的資料批量匯入到MySQLExcelMySql
- 如何用Java將excel資料匯入資料庫JavaExcel資料庫
- Excel的資料匯入到PB的DW中Excel
- Python使用pymysql和xlrd2將Excel資料匯入MySQL資料庫PythonMySqlExcel資料庫
- Excel 表匯入資料Excel
- Oracle 資料匯入ExcelOracleExcel
- MySQL資料匯入到infobright中MySql
- 從EXCEL匯入資料到SQL SERVERExcelSQLServer
- [pb]從excel匯入資料到datawindowExcel
- java怎麼將excel表格資料匯入資料庫JavaExcel資料庫
- 談談資料從sql server資料庫匯入mysql資料庫的體驗(轉)Server資料庫MySql
- 將Excel檔案匯入資料庫(POI+Excel+MySQL+jsp頁面匯入)第一次優化Excel資料庫MySqlJS優化
- Sql Server資料庫資料匯入到SQLite資料庫中Server資料庫SQLite
- 在SQL Server資料庫中匯入MySQL資料庫Server資料庫MySql
- EasyPoi, Excel資料的匯入匯出Excel