社区
Java SE
帖子详情
Excel导入导出数据到SQL数据库的实例。
ITzhangwei
2007-06-22 09:02:33
大侠们,我这两天在学Excel的导入导出,知道了有一些SQL语句可以实现导入导出,但是让我写个程序,我不知道JSP页面或者说是整个工程不知道该怎么写,希望谁能给我说个思路,或者写个例子,帮帮忙,谢谢!!
...全文
520
15
打赏
收藏
Excel导入导出数据到SQL数据库的实例。
大侠们,我这两天在学Excel的导入导出,知道了有一些SQL语句可以实现导入导出,但是让我写个程序,我不知道JSP页面或者说是整个工程不知道该怎么写,希望谁能给我说个思路,或者写个例子,帮帮忙,谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Ji秋风
2007-06-25
打赏
举报
回复
建议楼主用DTS,在程序用dtsrunui调用DTS包。
tdy1234
2007-06-25
打赏
举报
回复
LZ麻烦结贴 谢谢
tdy1234
2007-06-25
打赏
举报
回复
结贴要输入密码的。。。。
ITzhangwei
2007-06-25
打赏
举报
回复
不是我不想结贴,是我在管理那结贴,他说我权限不足,不知道我是不是太笨了。
ITzhangwei
2007-06-22
打赏
举报
回复
谢谢, 太谢谢了!
tdy1234
2007-06-22
打赏
举报
回复
LZ自己看看吧最好自己研究透彻 倒入的话建议把excel 转换为cvs进行倒入
tdy1234
2007-06-22
打赏
举报
回复
pstmt1 = con.prepareStatement(sql2);
pstmt1.setString(1, branchCode);
//pstmt1.setString(2, reportName);
rs = pstmt1.executeQuery();
while (rs.next()) {
hassub = rs.getString(1);
}
if (hassub.equalsIgnoreCase("0")) {
if (reportName.equalsIgnoreCase("DAILYRPT3")) {
hiderow(2, 9, day, workbook);
hiderow(3, 11, day, workbook);
hiderow(4, 10, day, workbook);
hiderow(5, 11, day, workbook);
hiderow(6, 10, day, workbook);
hiderow(7, 10, day, workbook);
hiderow(8, 6, day, workbook);
hiderow(9, 6, day, workbook);
hiderow(10, 6, day, workbook);
hiderow(11, 6, day, workbook);
hiderow(12, 6, day, workbook);
}
if (reportName.equalsIgnoreCase("DAILYRPT3AG") ||
reportName.equalsIgnoreCase("DAILYRPT3BANC")) {
hiderow(2, 11, day, workbook);
hiderow(3, 6, day, workbook);
}
if (reportName.equalsIgnoreCase("DAILYRPT3BRK") ||
reportName.equalsIgnoreCase("DAILYRPT3DM") ||
reportName.equalsIgnoreCase("DAILYRPT3GODT")) {
hiderow(2, 10, day, workbook);
hiderow(3, 6, day, workbook);
}
}
if (hassub.equalsIgnoreCase("1")) {
if (reportName.equalsIgnoreCase("DAILYRPT3")) {
hiderow(2, 9, day, workbook);
hiderow(3, 11, day, workbook);
hiderow(4, 11, day, workbook);
hiderow(5, 11, day, workbook);
hiderow(6, 11, day, workbook);
hiderow(7, 11, day, workbook);
hiderow(8, 6, day, workbook);
hiderow(9, 6, day, workbook);
hiderow(10, 6, day, workbook);
hiderow(11, 6, day, workbook);
hiderow(12, 6, day, workbook);
}
if (reportName.equalsIgnoreCase("DAILYRPT3AG") ||
reportName.equalsIgnoreCase("DAILYRPT3BANC")) {
int ns = workbook.getNumberOfSheets();
for (int k = 2; k < ns; k++) {
hiderow(k, 11, day, workbook);
}
//hiderow(2, 11, day, workbook);
//hiderow(3, 6, day, workbook);
}
if (reportName.equalsIgnoreCase("DAILYRPT3BRK") ||
reportName.equalsIgnoreCase("DAILYRPT3DM") ||
reportName.equalsIgnoreCase("DAILYRPT3GODT")) {
int ns = workbook.getNumberOfSheets();
for (int k = 2; k < ns; k++) {
hiderow(k, 10, day, workbook);
}
//hiderow(2, 10, day, workbook);
//hiderow(3, 6, day, workbook);
}
}
}
//end
fos = new FileOutputStream(new File(toFileName));
workbook.write(fos);
fos.flush();
System.out.println("from " + templateName);
System.out.println(toFileName + " genarate over");
if (sys_logger.isDebugEnabled()){
sys_logger.debug(toFileName + " genarate over");
}
}
//catch (Throwable t) {
catch (Exception t) {
t.printStackTrace();
sys_logger.error(i + ":Exception(" + row + ":" + col + ":" + num + ":" +
cell.getCellType() + ")");
sys_logger.error(t);
}
finally {
try {
if (fos != null) {
fos.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
workbook = null;
pfs = null;
//LoggerUtils.recordError(ReportConstants.REPORT_WEB_LOG, "3" + reportName);
ConnectionPool.releaseResultSet(rs);
ConnectionPool.releasePreparedStatement(pstmt);
ConnectionPool.releasePreparedStatement(pstmt1);
}
}
}
这是我前面写的一个函数是从数据库中读记录写入EXCEL 你参考一下,用POI作的
tdy1234
2007-06-22
打赏
举报
回复
readChannel(String inputDate, String branchCode,
Connection con,
String toFileName, String templateName,
String reportName, String errorMessage) {
System.out.println("==========" + toFileName);
if (sys_logger.isDebugEnabled()){
sys_logger.debug(toFileName + " begin...");
sys_logger.debug("---from " + templateName);
}
Object synObj;
if (synFile.get(templateName) == null) {
synObj = new Object();
synFile.put(templateName, synObj);
}
synObj = synFile.get(templateName);
synchronized (synObj) {
POIFSFileSystem pfs = null;
HSSFWorkbook workbook = null;
HSSFSheet sheet = null;
HSSFRow hr = null;
HSSFCell cell = null;
FileOutputStream fos = null;
PreparedStatement pstmt = null;
PreparedStatement pstmt1 = null;
ResultSet rs = null;
String sheetname = null;
String col = null;
String row = null;
String num = null;
String celltype = null;
int i = 0;
try {
File filedelete = new File(toFileName);
if (filedelete.exists()) {
filedelete.delete();
}
//xls定义
pfs = new POIFSFileSystem(new FileInputStream(templateName));
workbook = new HSSFWorkbook(pfs);
String sql =
"select sheetname,colpos,rowpos,num,celltype from tbrptresult "
+ "where branch_code=? and reportname=? "
+ "order by sheetname,to_number(colpos),to_number(rowpos)";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, branchCode);
pstmt.setString(2, reportName);
rs = pstmt.executeQuery();
//sheet = copy.getSheet(Integer.parseInt("1"));
while (rs.next()) {
sheetname = rs.getString(1); //in fact sheetname is sheetid
col = rs.getString(2);
row = rs.getString(3);
num = StringUtils.encode(rs.getString(4));
celltype = rs.getString(5);
//不带格式,只修改数值
sheet = workbook.getSheetAt(Integer.parseInt(sheetname));
hr = sheet.getRow(Integer.parseInt(row));
cell = hr.getCell( (short) (Integer.parseInt(col)));
if (num != null) {
i++;
//logger.debug(i + ":(" + row + ":" + col + ":" + num +":" + cell.getCellType() + ")");
if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
cell.setCellValue( (new Double(num)).doubleValue());
}
else if (cell.getCellType() == HSSFCell.CELL_TYPE_BLANK ||
cell.getCellType() ==
HSSFCell.CELL_TYPE_STRING) {
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding( (short) 1);
cell.setCellValue(num);
}
}
cell = null;
hr = null;
sheet = null;
//LoggerUtils.recordError(ReportConstants.REPORT_SYS_LOG, "6-991" + copy.toString() );
}
//去掉多余行 begin
if (!PreLoader.HQ_BRANCH_CODE.equals(branchCode)){
String hassub = "";
String day = inputDate.substring(8, 10);
String sql2 =
"select hassubbranch from t_rpt_branch where branch_code=? " +
" and status='1' ";
ITzhangwei
2007-06-22
打赏
举报
回复
有excel和sql的导入导出的例子吗?
tdy1234
2007-06-22
打赏
举报
回复
//建立输出表实例
_workbook_out = new HSSFWorkbook();
//以后关闭要用实例fileOut
fileOut = new FileOutputStream(outfilename);
//建立表格实例
HSSFSheet sheet_out = _workbook_out.createSheet();
rows 结果集中的记录数
for (int r = 0; r < rows; r++) //row numbers
{//建立行
HSSFRow row_out = sheet_out.createRow(r);
//建立该行列循环
for (short c = 0; c < cells; c++) {
//建立输出单元格对象实例
HSSFCell cell_out = row_out.createCell(c);
//单元格汉字编码转换
cell_out.setEncoding(HSSFCell.ENCODING_UTF_16);
//设置单元格属性
cell_out.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
//添值(这个值就是你准备要取的结果集中的某个你要放置的值)
cell_out.setCellValue(numvalue);
}//列循环结束
} //行循环结束
//最后处理输出工作表关闭写入数据
_workbook_out.write(fileOut);
fileOut.close();
你看看这段代码吧 注释的很详细了
Terrylx
2007-06-22
打赏
举报
回复
我用的是jxl,感觉不错,你可以去看看实例
http://www.1to2.us/Java-Excel-a159665.htm
ITzhangwei
2007-06-22
打赏
举报
回复
另外一种方式就是利用java操作excel的API,比如Jakarta POI,从而可以对excel文件进行读写。可参见:http://jakarta.apache.org/poi/
我说的就是这个方法,但是我刚刚接触,都不知道从何入手,请详细指点一下吧!
拜托~
tdy1234
2007-06-22
打赏
举报
回复
不过可能是说用命令行方式把一个数据库表转换为excel表。
楼主想要查询结果集转换为excel表,我知道有两种方式:一种是转换为csv格式(这是Excel的一种格式)。这种格式是纯文本,文本的一行对应于Excel表的一行,不同的列之间用“,”分隔。
另外一种方式就是利用java操作excel的API,比如Jakarta POI,从而可以对excel文件进行读写。可参见:http://jakarta.apache.org/poi/
liujun999999
2007-06-22
打赏
举报
回复
用sqlserver的DTS比上面的好像都要方便吧
tdy1234
2007-06-22
打赏
举报
回复
可以的话就结贴吧 呵呵
php
excel
导入
导出
,php
导入
my
sql
,my
sql
数据
导出
为
excel
本项目包含一个带样式的小
实例
,页面可以直接
导入
数据
,
导入
的
数据
存入my
sql
数据
库
,也可以
导出
excel
,
导出
excel
文件位于downloads目录下, 需要将较长的样本
数据
从
Excel
文件
导入
到 MY
SQL
数据
库
,此项目包含一个
导入
,用于将您的
Excel
数据
导入
my
sql
数据
库
,以及一个
导出
,用于将 My
SQL
数据
库
中的所有
数据
导出
回
Excel
文件。这个项目使用 PHP
Excel
,一个纯粹内置的库,一个带前端样式的小
实例
,可用于学习和在项目中实用。 教程 1.
导入
数据
库
文件
sql
.
sql
文件 2.修改index.php中$connect = my
sql
i_connect("localhost", "root", "root", "test");给你自己的
数据
库
账号密码 3.修改export.php中$connect = my
sql
i_connect("localhost", "root", "root", "test");给你自己的
数据
库
账号密码 如有问题请私信我。
Excel
导入
导出
SQL
slq2005+vs2005.将
EXCEL
导入
数据
库
,从
数据
库
里把
数据
读到
EXCEL
里.
Java实现
Excel
导入
导出
数据
库
的方法示例
主要介绍了Java实现
Excel
导入
导出
数据
库
的方法,结合
实例
形式分析了java针对
Excel
的读写及
数据
库
操作相关实现技巧,需要的朋友可以参考下
SQL
SERVER2005
数据
库
导入
导出
SQL
SERVER2005 EXPRESS是免费的
数据
库
程序,但是缺少很多功能,辛苦找到了一种
数据
库
的
导入
导出
,经试验成功且带详细readme!请笑纳~
一个简单的将
Excel
导入
数据
库
的ASP
实例
代码
将
Excel
表格
数据
导入
到Access或
SQL
数据
库
。 代码文档里有说明
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章