ecxel中的数据导入到oracle sqlldr或者sql server dts工具。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用jsp!我要用编程实现,请问大哥们可以帮我吗? 当然你可以对excel进行加工处理,产生sql语句,然后执行生成的sql脚本 下面的程序可以读出EXCEL表中的字符串和数字类型的内容,但是对于公式,日期等没有作处理有兴趣可以自己扩展,我就写到这里啦然后讲读出的内容通过JDBC写到ORACLE,这个不用我说了,楼主一定行的。。//Function Read data from Excel//Author ATGC//Date of compilation Oct 29,2004import org.apache.poi.poifs.filesystem.POIFSFileSystem;import org.apache.poi.hssf.record.*;import org.apache.poi.hssf.model.*;import org.apache.poi.hssf.util.*;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.record.aggregates.FormulaRecordAggregate;import java.io.FileInputStream;public class xls2table{ public static String fileToBeRead="e://test.xls"; public static void main(String argv[]) { try { HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead)); HSSFSheet sheet = workbook.getSheet("Sheet1"); int rows = sheet.getPhysicalNumberOfRows(); for (int r = 0; r < rows; r++) { HSSFRow row = sheet.getRow(r); if (row != null) { int cells = row.getPhysicalNumberOfCells(); String value = ""; System.out.println(cells); for (short c = 0; c < cells; c++) { HSSFCell cell = row.getCell(c); if (cell != null) { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_FORMULA : // break; case HSSFCell.CELL_TYPE_NUMERIC: value += (long)cell.getNumericCellValue()+"\t"; break; case HSSFCell.CELL_TYPE_STRING: value += cell.getStringCellValue()+"\t"; break; default: value +="\t"; } } } //下面可以将查找到的行内容用SQL语句INSERT到oracle System.out.println(value); // } } }catch(Exception e) {System.out.println(e);} }} 只是将数据拷入嘛?可以选中excel中的数据,然后ctrl+c拷贝,然后再oracle中用pl/sql deveploper打开表,ctrl+vok了 其实,我自己做了一个程序,但是,就是有时数据插的进去,有时数据插不进去!我是通过odbc连接excel,然后读取,再插入!但是,就是老是找不到excel文件中的表!(有时找的到,有时又找不到!)哪为兄弟帮我解决啊! 你把excel的格式转变一下,把后缀改为csv 然后用pl/sql develop 就可以直接导入 我的肯定行其实我不喜欢用java处理这样的问题还是Perl好java要考虑很多数据类型啦,太严谨了 恩恩恩,但客户要求用JAVA,没办法! 密码过期后,可否不通过dba修改 oracle安装问题(redhat5.3 + oracle10g) for update性能问题 请教一个和clob有关的查询语句 请给一个CNOUG论坛的邀请码 ORALCE数据库如何用BAT命令来倍份数据库 安装orcal后,提示一些错误信息是什么原因?(在线给分) 问个SQL问题,在线等,即解即算分 如何用sql语句实现重复数据的合并! 关于ORACLE与EXCEL互导数据的问题 一个常见的select语句,后面加:1=1 紧急求助一个棘手的SQL语句问题
我要用编程实现,请问大哥们可以帮我吗?
有兴趣可以自己扩展,我就写到这里啦
然后讲读出的内容通过JDBC写到ORACLE,这个不用我说了,楼主一定行的。。
//Function Read data from Excel
//Author ATGC
//Date of compilation Oct 29,2004import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.hssf.record.*;
import org.apache.poi.hssf.model.*;
import org.apache.poi.hssf.util.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.record.aggregates.FormulaRecordAggregate;
import java.io.FileInputStream;
public class xls2table
{
public static String fileToBeRead="e://test.xls";
public static void main(String argv[])
{
try
{
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
HSSFSheet sheet = workbook.getSheet("Sheet1");
int rows = sheet.getPhysicalNumberOfRows();
for (int r = 0; r < rows; r++)
{
HSSFRow row = sheet.getRow(r);
if (row != null)
{
int cells = row.getPhysicalNumberOfCells();
String value = "";
System.out.println(cells);
for (short c = 0; c < cells; c++)
{
HSSFCell cell = row.getCell(c);
if (cell != null)
{
switch (cell.getCellType())
{
case HSSFCell.CELL_TYPE_FORMULA :
//
break;
case HSSFCell.CELL_TYPE_NUMERIC:
value += (long)cell.getNumericCellValue()+"\t";
break;
case HSSFCell.CELL_TYPE_STRING:
value += cell.getStringCellValue()+"\t";
break;
default:
value +="\t";
}
}
}
//下面可以将查找到的行内容用SQL语句INSERT到oracle
System.out.println(value);
//
}
}
}catch(Exception e)
{System.out.println(e);}
}
}
可以选中excel中的数据,然后ctrl+c拷贝,然后再oracle中用pl/sql deveploper打开表,ctrl+v
ok了
我是通过odbc连接excel,然后读取,再插入!
但是,就是老是找不到excel文件中的表!(有时找的到,有时又找不到!)哪为兄弟帮我解决啊!
其实我不喜欢用java处理这样的问题
还是Perl好
java要考虑很多数据类型啦,太严谨了