「javaexcel动态」java动态生成excel
今天给各位分享javaexcel动态的知识,其中也会对java动态生成excel进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java poi 导出excel 把一样的数据动态合并
- 2、java如何动态获取excel中的类数据保存到oracle数据库中?
- 3、java 动态下载 excel 文档,统统都是乱码!希望哪位大虾帮我提出解决方案。谢谢! 在线等答案!
- 4、java能读写同一个excel吗
- 5、java实现导入动态excel
- 6、Java操作excel的问题
java poi 导出excel 把一样的数据动态合并
那你在循环着往Excel中写数据之前要先确定公司类型有多少,每个公司类型对应几条数据,如(n)。
然后在插入的时候第一个框就夸n行,接下来的n-1行就从第二个框开始插入。
java如何动态获取excel中的类数据保存到oracle数据库中?
操作步骤如下:
录入excel测试表格,test.xls。
另存为.csv格式
创建sql*loader控制文件test.ctl,内容如下:
Load data
Infile 'c:\test.csv'
insert Into table test Fields terminated by ','(column1,column2,column3,column4,column5)
需要将数据文件拷贝到对应位置
到数据库中建立对应的测试表test
create table test (
column1 Varchar2(10),
column2 Varchar2(10),
column3 Varchar2(10),
column4 Varchar2(10),
column5 Varchar2(10)
)
执行导入命令
Sqlldr userid = system/manager control='C:\test.ctl'
导入成功!
附: Sqlldr的函数关键字说明:
Userid --oracle用户名 userid = username/password
Control --控制文件名称 control = 'e:\insert.ctl'
Log --日志文件名称 log = 'e:\insert.log'
Bad --损坏文件名称
Data --data file name
Discard --discard file name
Discardmax --number of discards to allow(默认全部)
Skip --导入时跳过的记录行数(默认0)
Load --导入时导入的记录行数(默认全部)
Errors --允许错误的记录行数(默认50)
ctl文件内容说明:
Load data
Infile 'e:\test.csv' --数据源文件名称
Append|insert|replace --append在表后追加insert插入空表replace替代原有内容
Into table test --要导入的数据库表名称
[when id = id_memo] --过滤条件
Fields terminated by',' --字段分隔符
(id,name,telphone) --字段名称列表
说明:
这种方法的好处是sql*loader是oracle自带软件,无需安装额外的软件.缺点是操作比较麻烦点,而且如果表列数很多的话,输入字段名称列表会比较麻烦,适合导入大量数据.
方法一
打开excel给需要拷贝的数据增加一个空的起始列 , 选中所要更新的数据,ctr+c
打开PL SQl Developer
输入select * from tab_name for update,按F8运行
打开锁,此时记录集处于可以编辑的状态,
点击选中整行, ctrl+v,commit,大功告成
说明:这种方法其实是利用PL/SQL developer 对于记录集可以进行整行和多行复制粘贴的特性,toad似乎没有这样快速的办法;
在excel表格的列新追加空列的原因是在PL/SQL Developer选中整行进行粘贴时,前面会有个列数的列,所以要新增加一列,否则会造成列的错位.
这种方法处理少量数据的时候最合适,快捷方便,但是: excel的列必须与表中的列完全匹配
方法二
使用PL SQL Developerd的text importer,这种方法简单方便,推荐此种方法
方法很简单:
点击tools-text importer
在Data from txtfile 页面选择要导入的文件,在Data to Oracle 界面选择要导入的库和表即可
此时可以看到导入结果预览,还可以查看生成的sql语句,并且对于列可以智能匹配,妙用多多.当然点击Import 就OK了
说明:
这种方法简单可靠,适合导入大量的数据,我猜测这个工具其实是后台根据excel的列生成了相应的sql语句,取代人工拼写sql语句的过程,呵呵,就算生成的sql语句因为一些原因,不是很正确,也可以手工修改.这样既自动又可以手动加以控制,我比较推荐这种方法.
前提是要安装PL/Sql Developer
java 动态下载 excel 文档,统统都是乱码!希望哪位大虾帮我提出解决方案。谢谢! 在线等答案!
不知道具体原因是什么,不过可以给你提个小小的建议,建议你把代码写成这样:
response.setContentType("application/vnd.ms-excel; charset=GB2312");
去掉response.setCharacterEncoding("GB2312"); 这一行
你试试吧
java能读写同一个excel吗
JXL(Java Excel API)是一个用来动态读写Excel文件的开源框架,利用它可以在任何支持Java的操作系统上动态读写Excel文件。JXL的主页是:,可以在这里下载到它的最新的版本。
你可以分别通过如下命令
java -jar jxl.jar -xml test.xls
java -jar jxl.jar -cvs test.xls
以xml和cvs格式查看test.xls,这是因为JXL作者实现了一个用来演示的jxl.demo.Demo的类。
当然我们使用JXL主要是用它来动态读写Excel文件。现在就来看看JXL在对Excel的读和写上都提供了那些支持。
先来看看Excel文件中都有写上面对象
1 文件对象 2工作簿对象 3 单元格对象。
相应的在JXL中就有Workbook,Sheet ,Cell 。通过这三个对象我们就可以实现Excel文件的读取工作。
我们先想想一下读取步骤,不管是什么样的Excel操作框架必定都要经历
1选取Excel文件,2选择工作簿,3选择Cell,4读取信息。
那么现在就可以看看JXL中这四步骤如何体现:
//通过Workbook的静态方法getWorkbook选取Excel文件
Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));
//通过Workbook的getSheet方法选择第一个工作簿(从0开始)
Sheet sheet = workbook.getSheet(0);
//通过Sheet方法的getCell方法选择位置为C2的单元格(两个参数都从0开始)
Cell c2 = sheet.getCell(2,1);
//通过Cell的getContents方法把单元格中的信息以字符的形式读取出来
String stringc2 = c2.getContents();
可以看到正是刚才所说的四个步骤。
我们都知道Excel单元格是有格式的,那么这些信息如何取得。
Cell提供了一个getType方法能够返回单元格的类型信息,同时JXL提供了一个CellType类用来预设Excel中的类型信息,而且JXL提供了一些Cell类的子类用来分别用来表示各种类型的单元格,如LabelCell,NumberCell,DateCell分别表示字符、数值、日期类型的单元格。所以我们可以这样写:
if (c2.getType() == CellType.NUMBER)
{
? NumberCell nc = (NumberCell) c2;
? numberb2 = nc.getValue();
}
最后不要忘记关闭workbook以释放资源:
workbook.close();
现在总结一下:三个对象,四个步骤,注意格式。就可以轻松的从Excel文件中读取数据。
java实现导入动态excel
如果只是列字段的话的 可以采用动态判断第一列 是否有内容。如果有内容就继续读,直到读到最后一列为止。
错了 是第一行第一列。
Java操作excel的问题
Java创建excel表格的基本步骤:
1.创建一个WritableWorkbook对象(用Workbook的createWorkbook方法创建),要指定创建一个文件;
2.创建一个工作表WritableSheet(用workbook对象的createSheet方法创建),注意要是WritableSheet,说明可以对其写;
3.创建单元格,再将单元格加入到sheet里;
4.执行workbook的write()方法进行写操作最后关闭workbook。
javaexcel动态的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java动态生成excel、javaexcel动态的信息别忘了在本站进行查找喔。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。