CodeJava
Mã hóa niềm đam mê của bạn
- Trang chủ >
- mã hóa
Khác. Hướng dẫn Java.
- 10 lỗi thường gặp của lập trình viên Java
- 10 phương pháp hay nhất về Java Core
- 4 trang web Java bạn phải biết
- Làm thế nào để trở thành một lập trình viên giỏi
- Hướng dẫn Java Getter và Setter
- Hướng dẫn Java Servlet và JSP Hello World
- JSP Servlet JDBC MySQL CRUD Ví dụ
- Tải tệp lên cơ sở dữ liệu với Servlet, JSP, MySQL
- Tải tệp lên cơ sở dữ liệu với Spring và Hibernate
- Tiêm phụ thuộc trong Java là gì
- Biên dịch và chạy chương trình Java với TextPad
- Biên dịch và chạy chương trình Java với Sublime Text
- Ví dụ mã hóa và giải mã tệp Java
- Tạo MD5 và SHA trong Java
- Hướng dẫn Java Log4j cho người mới bắt đầu
- Cách sử dụng log4j cho ứng dụng web Java
- Cách phân tích cú pháp và định dạng Ngày trong Java
- Cách đọc tệp Excel trong Java
- Cách viết tệp Excel trong Java
- Cách đọc file Excel được bảo vệ bằng mật khẩu trong Java
- Cách cập nhật tệp Excel trong Java
- Cách sử dụng Công thức Excel trong Java
- Cách triển khai tính năng quên mật khẩu
- Cách triển khai tính năng ghi nhớ mật khẩu
- Cách đọc tệp CSV trong Java
- Cách ghi tệp CSV trong Java
- Tiện ích ghi âm Java
- Cách ghi âm giọng nói với JavaSound
- Cách phát tệp âm thanh trong Java
- Ví dụ về trình phát âm thanh Java Swing
- Tạo số ngẫu nhiên trong Java
- Hiển thị hình ảnh từ cơ sở dữ liệu trong JSP
- Dự án gửi email Java Swing
- Tải xuống tệp Java Swing FTP
- Tải lên tệp Java Swing FTP
- Tải lên tệp Java Swing HTTP
- Tải xuống tệp Java Swing HTTP
Ví dụ mã Java để nhập dữ liệu từ Excel vào cơ sở dữ liệu
Chi tiết Viết bởi Nam Hà MinhCập nhật lần cuối vào ngày 06 tháng 10 năm 2019. In Email
CREATE TABLE `students` [ `id` int[11] NOT NULL AUTO_INCREMENT, `name` varchar[128] NOT NULL, `enrolled` timestamp NOT NULL, `progress` int[11] NOT NULL, PRIMARY KEY [`id`] ];Xin lưu ý rằng loại dữ liệu của cột enrolled là dấu thời gian nên có thể chứa cả giá trị ngày và giờ. Để đọc file Excel từ Java, chúng ta có thể sử dụng thư viện Apache POI. Giả sử rằng dự án của bạn sử dụng Maven, vì vậy hãy thêm phần phụ thuộc sau vào pom. tệp xml .
org.apache.poi poi-ooxml 4.1.0Và để chèn dữ liệu vào cơ sở dữ liệu MySQL từ Java, chúng ta cần sử dụng phụ thuộc cho trình điều khiển JDBC của MySQL.
mysql mysql-connector-java 5.1.46 runtime
package net.codejava; import java.io.*; import java.sql.*; import java.util.*; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.*; /** * Sample Java program that imports data from an Excel file to MySQL database. * * @author Nam Ha Minh - //www.codejava.net * */ public class Excel2DatabaseTest { public static void main[String[] args] { String jdbcURL = "jdbc:mysql://localhost:3306/sales"; String username = "user"; String password = "password"; String excelFilePath = "Students.xlsx"; int batchSize = 20; Connection connection = null; try { long start = System.currentTimeMillis[]; FileInputStream inputStream = new FileInputStream[excelFilePath]; Workbook workbook = new XSSFWorkbook[inputStream]; Sheet firstSheet = workbook.getSheetAt[0]; Iterator rowIterator = firstSheet.iterator[]; connection = DriverManager.getConnection[jdbcURL, username, password]; connection.setAutoCommit[false]; String sql = "INSERT INTO students [name, enrolled, progress] VALUES [?, ?, ?]"; PreparedStatement statement = connection.prepareStatement[sql]; int count = 0; rowIterator.next[]; // skip the header row while [rowIterator.hasNext[]] { Row nextRow = rowIterator.next[]; Iterator cellIterator = nextRow.cellIterator[]; while [cellIterator.hasNext[]] { Cell nextCell = cellIterator.next[]; int columnIndex = nextCell.getColumnIndex[]; switch [columnIndex] { case 0: String name = nextCell.getStringCellValue[]; statement.setString[1, name]; break; case 1: Date enrollDate = nextCell.getDateCellValue[]; statement.setTimestamp[2, new Timestamp[enrollDate.getTime[]]]; case 2: int progress = [int] nextCell.getNumericCellValue[]; statement.setInt[3, progress]; } } statement.addBatch[]; if [count % batchSize == 0] { statement.executeBatch[]; } } workbook.close[]; // execute the remaining queries statement.executeBatch[]; connection.commit[]; connection.close[]; long end = System.currentTimeMillis[]; System.out.printf["Import done in %d ms\n", [end - start]]; } catch [IOException ex1] { System.out.println["Error reading file"]; ex1.printStackTrace[]; } catch [SQLException ex2] { System.out.println["Database error"]; ex2.printStackTrace[]; } } }Như bạn có thể thấy, chúng tôi sử dụng tính năng cập nhật hàng loạt JDBC để chèn một số lượng lớn hàng vào cơ sở dữ liệu một cách hiệu quả, với kích thước lô là 20 – có nghĩa là nó sẽ nhóm tối đa 20 câu lệnh SQL trong mỗi lô gửi đến máy chủ để xử lý. Chúng tôi cũng sử dụng giao dịch JDBC để đảm bảo rằng tất cả các hàng được chèn hoặc không có hàng nào. Cuối cùng, chúng tôi đo thời gian cần thiết để hoàn thành việc đọc và chèn dữ liệu. Chạy chương trình này và bạn sẽ thấy đầu ra như thế này.
Import done in 3462 msĐể xác minh, hãy chạy câu lệnh SQL Select trong MySQL Workbench và bạn sẽ thấy.
Hướng dẫn liên quan
- Cách đọc file Excel trong Java
- Cách thực hiện cập nhật/chèn hàng loạt với JDBC
Các hướng dẫn mã hóa Java khác
- Ví dụ mã Java để chèn dữ liệu từ CSV vào cơ sở dữ liệu
- Cách hiển thị hình ảnh từ cơ sở dữ liệu trong trang JSP với Java Servlet
- Cách triển khai nhớ mật khẩu [remember me] cho ứng dụng web Java
- Cách code đăng nhập và đăng xuất với Java Servlet, JSP và MySQL
- Cách viết mã Hit Counter cho ứng dụng web Java
- 10 lỗi thường gặp mà mọi lập trình viên Java mới bắt đầu mắc phải
- 10 phương pháp hay nhất về Java Core mà mọi lập trình viên Java nên biết
- Làm thế nào để trở thành một lập trình viên giỏi?
- Cách tính giá trị băm MD5 và SHA trong Java
- Ví dụ mã hóa và giải mã tệp Java
Giới thiệu về tác giả
Tệp đính kèm.
Thêm bình luận
Báo cho tôi biết khi có comment mới
Gửi
Bình luận
12345
Nam2022-11-16 23. 57
Gửi Nicolas. Cân nhắc sử dụng cơ sở dữ liệu nhúng H2 hoặc nhúng Derby
Mmmm2022-11-16 15. 54
Phụ đề xuất sắc Java. Trong xml trong hệ thống
Nicolas2022-11-16 12. 57
Yash Kotalwar2022-09-27 03. 39
Chỉ cần thêm khối try and catch trong trường hợp 1 và trường hợp 2. nó sẽ hoạt động.
thử[]
trường hợp 1.
bắt[NullPulumException e]{
Case2. }
Somi2022-09-21 01. 58
Trong khi chạy dự án, nó báo lỗi
12345
Làm cách nào để xác thực trang tính Excel trong Java?
Áp dụng xác thực dữ liệu cho ô Excel .
Tạo một đối tượng Workbook và lấy trang tính đầu tiên bằng Workbook. .
Nhận một phạm vi ô cụ thể bằng Worksheet. .
Đặt loại dữ liệu được phép trong ô bằng CellRange. .
Đặt toán tử so sánh bằng CellRange. .
Đặt một hoặc hai công thức để xác thực dữ liệu bằng CellRange
Làm cách nào để xác thực tiêu đề trang tính Excel trong Java?
Bạn có thể sử dụng CellType type = cell. getCellType[]; để kiểm tra xem nó là số hay chuỗi.
Làm cách nào để đọc dữ liệu từ trang tính Excel và chèn vào bảng cơ sở dữ liệu trong Java?
table_daily_report[];
3 loại xác thực dữ liệu trong Excel là gì?
Khi quy tắc xác thực dữ liệu được tạo, có 8 tùy chọn khả dụng để xác thực đầu vào của người dùng. .
Bất kỳ giá trị nào - không có xác thực nào được thực hiện. .
Số nguyên - chỉ cho phép số nguyên. .
Thập phân - hoạt động giống như tùy chọn số nguyên nhưng cho phép giá trị thập phân. .
Danh sách - chỉ các giá trị từ danh sách được xác định trước mới được phép