1. 如何用java读取excel文件写到数据库中
我知道的有三种方法:
1、如果数据量不大且没有大对象(图片,文件什么的)且使用pl/sql developer做oracle管理工具的话,可以直接复制粘贴,操作方法是先按照列的先后顺序把EXCEL中数据排好,在第一个字段前面加一空白列(这部很重要,否则字段就会不对应了),pl/sql developer中执行下select * from 表名 for update,使得你的表可以编辑,然后点一下像锁一样的那个图标(鼠标放上去会显示编辑数据四个字),复制excel中的数据(包括空白列),最后直接在表中空白行的地方粘贴就行了,操作很简单。
2、使用外部程序编程实现,如c#,java,以c#为例,先将excel解析成datatable,然后逐行遍历入库即可。
3、使用工具XlsToOra.exe,只要配置一下登陆进去后,设置一下导入的表名,列与excel中列的对应关系就可以导入了。
4、可以将excel转换成csv文件再利用文本导入器(工具-文本导入器)导入即可。 以上是个人使用过的一些方法, 难免有不完美之处,欢迎指正探讨^_^
2. java读取写入excel文件
1。通过jsp页面接收上传的excel文件到后台,2,后台使用java连接数据库3.将excel文件通过io文件控制流读入,然后使用jdbc写入到数据库
3. java从excel读取数据
百度搜索圈T社区 免费行业视频教程www.aiquanti.com
package com.asima;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
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;
/**
*
* @author asima
* @data 2006-10-18
*/
public class XlsToAccess
{
HSSFSheet globalSheet = null;
/*读取一个指定单元格内容*/
public String readCellValue(String pos)
{
int xpos;
short ypos;
int cellType; /*取得此单元格的类型 0-Numeric,1-String,3-null*/
String result; /*返回取得的单元格的值*/
ypos = (short) (pos.toUpperCase().charAt(0) - 65);
xpos = Integer.parseInt(pos.substring(1, pos.length())) - 1;
HSSFRow row = null; /* 定义excel中的行 */
HSSFCell cell = null; /* 定义excel中的单元格 */
/* 根据xPos和yPos取得单元格 */
row = globalSheet.getRow(xpos);
cell = row.getCell(ypos);
/** **************此处如果是空需要修改********************************** */
cellType = cell.getCellType();
switch (cellType)
{
case 0: /* 0-Numeric */
result = String.valueOf(cell.getNumericCellValue());
break;
case 1: /* 1-String */
result = cell.getStringCellValue();
break;
case 3: /* 3-null */
result = "";
break;
default:
result = "";
break;
}
return result;
}
/*读取excel文件并把内容插入到access表中*/
public void insertIntoTable() throws Exception
{
// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook =
new HSSFWorkbook(new FileInputStream("D:/temp/test.xls"));
// 获得一个sheet
globalSheet = workbook.getSheetAt(0);
String value1 = readCellValue("c1");
String value2 = readCellValue("c2");
String value3 = readCellValue("c3");
String value4 = readCellValue("c4");
System.out.println(value1);
System.out.println(value2);
/* 插入数据库 */
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:asima";
Connection conn = DriverManager.getConnection(url);
PreparedStatement stmt =
conn.prepareStatement("insert into custom values(?,?,?,?)");
// 定义查询的SQL语句
stmt.setString(1, value1);
stmt.setString(2, value2);
stmt.setString(3, value3);
stmt.setString(4, value4);
stmt.executeUpdate
4. java将excel文件导入数据库
在导入前先去数据库一次性的取出所有的数据放入集合A(这个的所有根据情况来,不一定是必须要全部数据),然后将excel内的所有的序号和A中的主键去比较,A中有的就表示已经存在不插入,而A中没有的则表示数据库中不存在则需要导入
5. java将excel数据写入数据库
代码如下: import java.io.*; import jxl.*; import jxl.write.*; public class CreateXLS { public static void main(String args[]) { try { //打开文件 WritableWorkbook book= Workbook.createWorkbook(new File("测试.xls")); //生成名为“第一页”的工作表,参数0表示这是第一页 WritableSheet sheet=book.createSheet("第一页",0); //在Label对象的构造子中指名单元格位置是第一列第一行(0,0) //以及单元格内容为test Label label=new Label(0,0,"test"); //将定义好的单元格添加到工作表中 sheet.addCell(label); /*生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123*/ jxl.write.Number
number = new jxl.write.Number(1,0,789.123); sheet.addCell(number); //写入数据并关闭文件 book.write(); book.close(); }catch(Exception e) { System.out.println(e); } } }
6. java 读excel文件
在将数据数据写入csv之前先调用字符转换函数,将字符流的编码转换为UTF-8
- 相关评论
- 我要评论
-