android通过jxl读excel存入sqlite3数据库

时间:2021-05-20

复制代码 代码如下:
package com.demo.day20140228;

import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

public class DictExcelDemo {
public static void main(String[] args) {
DictExcelDemo ded = new DictExcelDemo();
Connection conn = ded.getConnection();
ded.readExcel_(conn);
}

private Connection getConnection(){
Connection conn = null;
try {
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:database.db");
Statement stat = conn.createStatement();
stat.executeUpdate("create table if not exists dictionary(enword varchar(200), cnword varchar(200));");// 创建一个表,两列

} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}

private void readExcel_(Connection conn) {
try {
Workbook book = Workbook.getWorkbook(new File("English.xls"));
PreparedStatement prep = conn.prepareStatement("insert into dictionary(enword,cnword) values(?,?);");

for (int a = 0; a < 26; a++) {
// 获得第一个工作表对象
Sheet sheet = book.getSheet(a);
// 得到第一列第一行的单元格
// 得到第一列第一行的单元格
int columnum = sheet.getColumns();// 得到列数
int rownum = sheet.getRows();// 得到行数
for (int i = 1; i < rownum; i++)// 循环进行读写
{// 行
String key = "";
String value = "";
for (int j = 0; j < columnum; j++) {// 列
Cell cell1 = sheet.getCell(j, i);
String result = cell1.getContents();
if (j == 0) {
key += result;
} else {
value += result;
}
}
// System.out.println(key+"=="+value);
prep.setString(1, key);
prep.setString(2, value);
prep.addBatch();
}
}
conn.setAutoCommit(false);
prep.executeBatch();
conn.setAutoCommit(true);
conn.close();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章