新聞中心
在現代社會中,數據的信息化和智能化處理早已成為企業(yè)發(fā)展的重要方向。而數據處理的基礎和核心就是數據庫。數據庫的管理關系到企業(yè)的發(fā)展和效率,因此,數據的導入和處理成為企業(yè)日常工作的必備活動。

專注于為中小企業(yè)提供網站制作、成都網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)酒泉免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了數千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。
然而,數據的導入和處理也面臨一些問題。比如,現實中數據的來源往往是Excel這種表格軟件,但是,將這些數據導入到數據庫中卻不是一件簡單的事情。如果用手工拷貝的方式進行導入,那么工作量將會十分龐大,而且容易出現錯誤。此時,我們就需要一種輕松的方法來實現Excel數據的導入。
Java作為面向對象的高級編程語言,廣泛應用于軟件開發(fā)、手機應用、企業(yè)級應用、嵌入式系統(tǒng)和云計算等領域。在數據處理和導入中,Java的應用也很廣泛。下面我們將分析如何使用Java輕松實現Excel數據導入數據庫。
準備工作
在使用Java進行Excel數據導入時,我們需要以下開發(fā)環(huán)境和工具:
– JDK:需要安裝Java開發(fā)工具包(JDK)。
– Eclipse或Intellij IDEA:作為開發(fā)工具,需要安裝一個集成開發(fā)環(huán)境(IDE)。
– MySQL:可用于存儲導入的數據,需要配置MySQL數據庫環(huán)境并在本地或云端創(chuàng)建一個或多個數據庫。
– Excel算法庫:需要導入Java操作Excel的算法庫Apache POI。
Java代碼實現
在準備工作完成后,我們就可以使用Java代碼來實現Excel數據導入數據庫了。在下面的例子中,我們將使用Java將員工信息從Excel表格中導入到MySQL數據庫中。
首先是創(chuàng)建Excel文件中的員工信息表格。員工信息表格至少必須包括以下內容:
– 員工編號:ID
– 員工姓名:NAME
– 性別:SEX
– 年齡:AGE
– 郵箱:EML
– 手機號碼:PHONE
– 地址:ADDRESS
現在讓我們來看一下Java代碼是如何實現的。
導入Excel數據的方法如下所示:
public class ExcelImport {
public static boolean importExcel(File file, int excelIndex, boolean isFirstRowAsHeader) {
boolean result;
try {
Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheetAt(excelIndex);
if (isFirstRowAsHeader) {
Row header = sheet.getRow(0);
if (header != null) {
// 獲取表頭數據
String idName = header.getCell(0).getStringCellValue();
String nameName = header.getCell(1).getStringCellValue();
String sexName = header.getCell(2).getStringCellValue();
String ageName = header.getCell(3).getStringCellValue();
String emlName = header.getCell(4).getStringCellValue();
String phoneName = header.getCell(5).getStringCellValue();
String addressName = header.getCell(6).getStringCellValue();
…
} else {
System.err.println(“表頭為空!”);
}
}
// 遍歷表格內容
Iterator rowIterator = sheet.rowIterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
if (row.getRowNum() == 0 && isFirstRowAsHeader) {
continue;
}
// 讀取每個單元格的數據
int id = (int) row.getCell(0).getNumericCellValue();
String name = row.getCell(1).getStringCellValue();
String sex = row.getCell(2).getStringCellValue();
int age = (int) row.getCell(3).getNumericCellValue();
String eml = row.getCell(4).getStringCellValue();
String phone = row.getCell(5).getStringCellValue();
String address = row.getCell(6).getStringCellValue();
// 將讀取到的數據插入到數據庫中
result = executeUpdate(“INSERT INTO employees (id, name, sex, age, eml, phone, address)”
+ ” VALUES (“+id+”, ‘”+name+”‘, ‘”+sex+”‘, “+age+”, ‘”+eml+”‘, ‘”+phone+”‘, ‘”+address+”‘)”);
…
}
workbook.close();
} catch (Exception e) {
e.printStackTrace();
result = false;
}
return result;
}
}
然后是將員工信息存儲到數據庫的方法:
public static boolean executeUpdate(String sql){
boolean result;
try{
Class.forName(“com.mysql.jdbc.Driver”);
Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/database?serverTimezone=UTC&characterEncoding=utf8&useSSL=false”, “root”, “123456”);
Statement statement = connection.createStatement();
statement.executeUpdate(sql);
statement.close();
connection.close();
result = true;
} catch (Exception e) {
e.printStackTrace();
result = false;
}
return result;
}
成都網站建設公司-創(chuàng)新互聯(lián),建站經驗豐富以策略為先導10多年以來專注數字化網站建設,提供企業(yè)網站建設,高端網站設計,響應式網站制作,設計師量身打造品牌風格,熱線:028-86922220java如何把excel內容導入到mysql數據庫,數據庫的列名就是excel的列名
微軟提供了將EXCEL作為數據源的驅動
控制面板–管理工具–數據源 在系統(tǒng)DSN標簽下點選添沖螞加 選擇Driver Do MicroSoft Excel
點擊完成 數據源名任意 選擇EXCEL版本然后點選陵判正選擇工作尺悔簿 選中你要導入的EXCEL文件
要通過java程序獲取內容的話
Connection c = null;
Statement stmnt = null;
try {
Class.forName( “sun.jdbc.odbc.JdbcOdbcDriver” );
c = DriverManager.getConnection( “jdbc:odbc:數據源名”, “”, “” );
stmnt = c.createStatement();
String query = “SELECT * FROM “;
ResultSet rs = stmnt.executeQuery( query );
要注意的是SQL語句中表名的寫法 后面要加$
1、添加POI jar包到項目的lib目錄下-
2、Excel文件目錄:
3、數據庫字租春段為:num1 num2 num3 num4 num5 num6-
4、數據庫名:blog-
5、表名:test-
6、編寫類:連接mysql的字符旦型明串方法、插入的方法、實體類–
import java.io.FileInputStream;-
import java.io.FileNotFoundException;-
import java.io.IOException;-
import org.apache.commons.logging.Log;-
import org.apache.commons.logging.LogFactory;-
import org.apache.poi.hssf.usermodel.HSSFCell;-
import org.apache.poi.hssf.usermodel.HSSFRow;-
import org.apache.poi.hssf.usermodel.HSSFSheet;-
import org.apache.poi.hssf.usermodel.HSSFWorkbook;-
public class TestExcel {-
//記錄類的輸出信息-
static Log log = LogFactory.getLog(TestExcel.class); –
//獲取Excel文檔的路徑-
public static String filePath = “
public static void main(String args) {-
try {-
// 創(chuàng)建對Excel工作簿文件的引用-
HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(filePath));-
// 在Excel文檔中,之一張工作表的缺省索引是0,-
// 其語句為:HSSFSheet sheet = workbook.getSheetAt(0);-
HSSFSheet sheet = wookbook.getSheet(“Sheet1”);-
//獲取到Excel文件中的所有行數-
int rows = sheet.getPhysicalNumberOfRows();-
//遍歷行-
for (int i = 0; i = null;
//創(chuàng)建連接數據庫,并插入數據的操作類以及相應方法 DataOper.java
//連接數據庫
//插入數據方法
public static boolean insert(Person person); //參數為數據庫映射對象
//創(chuàng)建解析excel操作類 ExcelCon.java
ExcelConec = new ExcelCon();
//解析excel返回值 具體取值代碼自攜粗己實現吧
persons = ec.getList();
//灶乎實現批量插入。在不使用批處理的情況下
for( int i = 0 ; i
Person person = (Person)persons.get(i);
DataOper.insert(person);
}
//大體如此 樓上正好把取excel數據的方法寫了?。?/p>
我用的是一個耐悉叫CVS的導入小工具
不僅mysql 能用 ORACLE 、SQLServer 都能慎瞎用
你可以去百度
怎樣將Excel文件導入數據庫(在P環(huán)境下Java代碼)
呵呵,樓主既然思路都有了還怕寫不出代碼么?
你這個思路沒有問題的!
可以把這個問題拆分成幾個小問題,就簡單多了。
之一是文件上傳,可以參照Jakarta的FileUpload組件,其實也不一定要用這個,用普通的Post也就行了。
第二是Excel解析,用L或者POI都攔搏茄行
第三銀或是數據保存,這個應該簡單吧,一個循環(huán),一行對應一條數據,寫好了方法循環(huán)賦值調用就行簡察了。
第四是查詢和顯示,這個更簡單了,不用多說。
文件上傳和Excel解析的例子網上很多的,改改就變自己的了,何必在這管別人要代碼呢~
我只給你說下第二步怎么樣吧,其他的你自己應該可以解決的。
通過使用第三方包jxl.jar,我以前導過數據,也是解析Excel,將Excel中的數據導入數據庫中,這個包很好下,如果找不到可以留下郵箱
//程序說明: 要導入jxl.jar到Classpath中。
import jxl.*;
import java.io.*;
import jxl.write.*;
/**
* java讀取Excel表格,拷貼心、更新Excel工作薄
*/
public class Test1 {
public static void main(String args) {
jxl.Workbook rwb = null;
try{
//構建Workbook對象 只鄭緩讀Workbook對象
//直接從本地文件創(chuàng)建Workbook
//從輸入流創(chuàng)建Workbook
InputStream is = new FileInputStream(”
rwb = Workbook.getWorkbook(is);
//Sheet(術語:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中
//Sheet的下標喊薯模是從0開始的
//獲取之一張Sheet表
Sheet rs = rwb.getSheet(0);
//獲取Sheet表中所包含的總列數
int rsColumns = rs.getColumns();
//獲取Sheet表中所包含的總行數
int rsRows = rs.getRows();
//獲取指這下單元格的對象引用
for(int i=0;i
for(int j=0;j
Cell cell = rs.getCell(j,i);
System.out.print(cell.getContents()+” “);
}
System.out.println();
}
//利用已經創(chuàng)建的Excel工作薄創(chuàng)建新的可寫入的Excel工作薄
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(”
//讀取之一張工作表
jxl.write.WritableSheet ws = wwb.getSheet(0);
//獲取之一個單元格對象
jxl.write.WritableCell wc = ws.getWritableCell(0, 0);
//決斷單元格的類型,做出相應的轉化
if (wc.getType() == CellType.LABEL) {
Label l = (Label) wc;
l.setString(“The value has been modified.”);
}
//寫入Excel對象
wwb.write();
wwb.close();
}catch(Exception e){
e.printStackTrace();
}
finally{
//操作完成手晌時,關閉對象,翻譯占用的內存空間
rwb.close();
}
}
}
利用隱此poi組件讀灶畝迅出excel文件內部及各單元格 再插入到表的相應字段中。我一直是這么做的耐知?;蛘呃胘xl組件。
關于java實現導入excel到數據庫的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
成都創(chuàng)新互聯(lián)科技有限公司,經過多年的不懈努力,公司現已經成為一家專業(yè)從事IT產品開發(fā)和營銷公司。廣泛應用于計算機網絡、設計、SEO優(yōu)化、關鍵詞排名等多種行業(yè)!
當前名稱:Java輕松實現Excel數據導入數據庫!(java實現導入excel到數據庫)
文章轉載:http://m.fisionsoft.com.cn/article/djhpiso.html


咨詢
建站咨詢
