- 浏览: 142930 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
klo0704:
这个我没有进行测试 过。
linux word 转 pdf 下类似百度文库开发研究与实战 -
leipan19890705:
你好!请问你用OpenOffice将word等转换为pdf,会 ...
linux word 转 pdf 下类似百度文库开发研究与实战 -
selectFrom:
com.jacob.com.ComFailException: ...
2010 word 转换pdf jacob
package chb.util;
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableImage;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class ExcelUtils {
/**读取Excel文件的内容
* @param file 待读取的文件
* @return
*/
public static String readExcel(File file){
StringBuffer sb = new StringBuffer();
Workbook wb = null;
try {
//构造Workbook(工作薄)对象
wb=Workbook.getWorkbook(file);
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if(wb==null)
return null;
//获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了
Sheet[] sheet = wb.getSheets();
if(sheet!=null&&sheet.length>0){
//对每个工作表进行循环
for(int i=0;i<sheet.length;i++){
//得到当前工作表的行数
int rowNum = sheet[i].getRows();
for(int j=0;j<rowNum;j++){
//得到当前行的所有单元格
Cell[] cells = sheet[i].getRow(j);
if(cells!=null&&cells.length>0){
//对每个单元格进行循环
for(int k=0;k<cells.length;k++){
//读取当前单元格的值
String cellValue = cells[k].getContents();
sb.append(cellValue+"\t");
}
}
sb.append("\r\n");
}
sb.append("\r\n");
}
}
//最后关闭资源,释放内存
wb.close();
return sb.toString();
}
/**生成一个Excel文件
* @param fileName 要生成的Excel文件名
*/
public static void writeExcel(String fileName){
WritableWorkbook wwb = null;
try {
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
e.printStackTrace();
}
if(wwb!=null){
//创建一个可写入的工作表
//Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("sheet1", 0);
//下面开始添加单元格
for(int i=0;i<10;i++){
for(int j=0;j<5;j++){
//这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行
Label labelC = new Label(j, i, "这是第"+(i+1)+"行,第"+(j+1)+"列");
try {
//将生成的单元格添加到工作表中
ws.addCell(labelC);
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}
try {
//从内存中写入文件中
wwb.write();
//关闭资源,释放内存
wwb.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}
/**搜索某一个文件中是否包含某个关键字
* @param file 待搜索的文件
* @param keyWord 要搜索的关键字
* @return
*/
public static boolean searchKeyWord(File file,String keyWord){
boolean res = false;
Workbook wb = null;
try {
//构造Workbook(工作薄)对象
wb=Workbook.getWorkbook(file);
} catch (BiffException e) {
return res;
} catch (IOException e) {
return res;
}
if(wb==null)
return res;
//获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了
Sheet[] sheet = wb.getSheets();
boolean breakSheet = false;
if(sheet!=null&&sheet.length>0){
//对每个工作表进行循环
for(int i=0;i<sheet.length;i++){
if(breakSheet)
break;
//得到当前工作表的行数
int rowNum = sheet[i].getRows();
boolean breakRow = false;
for(int j=0;j<rowNum;j++){
if(breakRow)
break;
//得到当前行的所有单元格
Cell[] cells = sheet[i].getRow(j);
if(cells!=null&&cells.length>0){
boolean breakCell = false;
//对每个单元格进行循环
for(int k=0;k<cells.length;k++){
if(breakCell)
break;
//读取当前单元格的值
String cellValue = cells[k].getContents();
if(cellValue==null)
continue;
if(cellValue.contains(keyWord)){
res = true;
breakCell = true;
breakRow = true;
breakSheet = true;
}
}
}
}
}
}
//最后关闭资源,释放内存
wb.close();
return res;
}
/**往Excel中插入图片
* @param dataSheet 待插入的工作表
* @param col 图片从该列开始
* @param row 图片从该行开始
* @param width 图片所占的列数
* @param height 图片所占的行数
* @param imgFile 要插入的图片文件
*/
public static void insertImg(WritableSheet dataSheet, int col, int row, int width,
int height, File imgFile){
WritableImage img = new WritableImage(col, row, width, height, imgFile);
dataSheet.addImage(img);
}
public static void main(String[] args) {
try {
//创建一个工作薄
WritableWorkbook workbook = Workbook.createWorkbook(new File("D:/test1.xls"));
//待插入的工作表
WritableSheet imgSheet = workbook.createSheet("Images",0);
//要插入的图片文件
File imgFile = new File("D:/1.png");
//图片插入到第二行第一个单元格,长宽各占六个单元格
insertImg(imgSheet,0,1,6,6,imgFile);
workbook.write();
workbook.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableImage;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class ExcelUtils {
/**读取Excel文件的内容
* @param file 待读取的文件
* @return
*/
public static String readExcel(File file){
StringBuffer sb = new StringBuffer();
Workbook wb = null;
try {
//构造Workbook(工作薄)对象
wb=Workbook.getWorkbook(file);
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if(wb==null)
return null;
//获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了
Sheet[] sheet = wb.getSheets();
if(sheet!=null&&sheet.length>0){
//对每个工作表进行循环
for(int i=0;i<sheet.length;i++){
//得到当前工作表的行数
int rowNum = sheet[i].getRows();
for(int j=0;j<rowNum;j++){
//得到当前行的所有单元格
Cell[] cells = sheet[i].getRow(j);
if(cells!=null&&cells.length>0){
//对每个单元格进行循环
for(int k=0;k<cells.length;k++){
//读取当前单元格的值
String cellValue = cells[k].getContents();
sb.append(cellValue+"\t");
}
}
sb.append("\r\n");
}
sb.append("\r\n");
}
}
//最后关闭资源,释放内存
wb.close();
return sb.toString();
}
/**生成一个Excel文件
* @param fileName 要生成的Excel文件名
*/
public static void writeExcel(String fileName){
WritableWorkbook wwb = null;
try {
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
e.printStackTrace();
}
if(wwb!=null){
//创建一个可写入的工作表
//Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("sheet1", 0);
//下面开始添加单元格
for(int i=0;i<10;i++){
for(int j=0;j<5;j++){
//这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行
Label labelC = new Label(j, i, "这是第"+(i+1)+"行,第"+(j+1)+"列");
try {
//将生成的单元格添加到工作表中
ws.addCell(labelC);
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}
try {
//从内存中写入文件中
wwb.write();
//关闭资源,释放内存
wwb.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}
/**搜索某一个文件中是否包含某个关键字
* @param file 待搜索的文件
* @param keyWord 要搜索的关键字
* @return
*/
public static boolean searchKeyWord(File file,String keyWord){
boolean res = false;
Workbook wb = null;
try {
//构造Workbook(工作薄)对象
wb=Workbook.getWorkbook(file);
} catch (BiffException e) {
return res;
} catch (IOException e) {
return res;
}
if(wb==null)
return res;
//获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了
Sheet[] sheet = wb.getSheets();
boolean breakSheet = false;
if(sheet!=null&&sheet.length>0){
//对每个工作表进行循环
for(int i=0;i<sheet.length;i++){
if(breakSheet)
break;
//得到当前工作表的行数
int rowNum = sheet[i].getRows();
boolean breakRow = false;
for(int j=0;j<rowNum;j++){
if(breakRow)
break;
//得到当前行的所有单元格
Cell[] cells = sheet[i].getRow(j);
if(cells!=null&&cells.length>0){
boolean breakCell = false;
//对每个单元格进行循环
for(int k=0;k<cells.length;k++){
if(breakCell)
break;
//读取当前单元格的值
String cellValue = cells[k].getContents();
if(cellValue==null)
continue;
if(cellValue.contains(keyWord)){
res = true;
breakCell = true;
breakRow = true;
breakSheet = true;
}
}
}
}
}
}
//最后关闭资源,释放内存
wb.close();
return res;
}
/**往Excel中插入图片
* @param dataSheet 待插入的工作表
* @param col 图片从该列开始
* @param row 图片从该行开始
* @param width 图片所占的列数
* @param height 图片所占的行数
* @param imgFile 要插入的图片文件
*/
public static void insertImg(WritableSheet dataSheet, int col, int row, int width,
int height, File imgFile){
WritableImage img = new WritableImage(col, row, width, height, imgFile);
dataSheet.addImage(img);
}
public static void main(String[] args) {
try {
//创建一个工作薄
WritableWorkbook workbook = Workbook.createWorkbook(new File("D:/test1.xls"));
//待插入的工作表
WritableSheet imgSheet = workbook.createSheet("Images",0);
//要插入的图片文件
File imgFile = new File("D:/1.png");
//图片插入到第二行第一个单元格,长宽各占六个单元格
insertImg(imgSheet,0,1,6,6,imgFile);
workbook.write();
workbook.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}
发表评论
-
java 保存页面上传 js 图片
2017-05-10 18:03 444现在页面上有 <img src="dat ... -
java 批量推送 ios
2017-05-08 14:47 1746此程序需要Javapns 2.2版 ... -
SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
2016-07-06 17:27 778基本的SpringMVC的搭建在我的上一篇文章里已经写过了, ... -
JS 传值到 action 乱码
2016-05-16 17:11 541JS var afterencode = encod ... -
java发送http的get、post请求
2016-04-08 15:37 653package wzh.Http; import jav ... -
SpringMVC+shiro+hibernate权限管理整合
2016-02-26 10:13 1560什么是权限? 权限是管理web应用用户的一种手段,比如 ... -
SpringMVC结合ajaxfileupload文件无刷新上传
2015-12-08 13:25 687jQuery没有提供ajax的文件上传,我们可以通过aj ... -
powerdesigner 生成mysql PDM 的COMMENT注释
2015-09-07 11:40 652powerdesigner 生成mysql PDM 的COM ... -
java合并单元格同时导出excel
2014-11-06 20:00 3371POI进行跨行需要用到对象HSSFSheet对象,现在就当我 ... -
c3p0 数据重启 tomcat 正常运行配置
2014-08-20 09:20 1111<bean id="dataSource&q ... -
Java中如何获取Spring中配置的bean 和注解
2014-06-12 22:14 1062一、什么是Spring? Spring是一个轻量级的控制反转( ... -
java(Web)中相对路径,绝对路径问题总结
2014-04-10 11:05 799主题:java(Web)中相对路 ... -
Oracle 删除恢复数据
2014-01-14 14:57 759今天一哥们把正式服务 ... -
java socket
2013-11-21 11:43 774一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台 ... -
java 实现对图片的压缩生成缩略图
2013-11-14 16:31 1268一位高手的上传内容中学习到的,并将其代码根据我的需求进行了修 ... -
ORACLE 数据库的级联查询 一句sql搞定(部门多级)
2013-08-09 16:55 4610在ORACLE 数据库中有一种方法可以实现级联查询 ... -
Eclipse更改皮肤 . 保护眼睛
2013-07-05 14:57 871今天在网上看到别人的 ... -
使用eclipse生成html格式注释文档 [ javadoc ]
2013-07-02 14:34 1152一、操作步骤 1. 选中要生成doc的项目,右键 ... -
Spring+Quartz实现定时任务的配置方法
2013-02-01 11:57 9221、Scheduler的配置 <bean class= ... -
java 生成pdf
2012-11-23 13:33 954import java.awt.Color; import j ...
相关推荐
Java作为一种强大的编程语言,提供了多种方式来读取Excel文件的内容,无论文件是2007以前的老版本还是2007及以后的新版本。本文将详细探讨如何使用Java读取不同版本的Excel文件。 首先,针对2007年之前的Excel文件...
结合PHPExcel插件写的读取excel文件内容,并返回二维数组。可以控制读取excel哪张工作表,读取几列的内容。
### C#读写Excel文件知识点详解 #### 一、引言 在软件开发过程中,Excel文件作为一种常用的数据存储格式,其处理方式对于提高程序的功能性和灵活性具有重要意义。本篇文章将详细介绍如何利用C#语言实现对Excel文件...
在这个"NPOI批量读取excel文件内容写入excel模板.rar"压缩包中,包含的资源可以帮助我们理解如何利用NPOI来批量处理Excel数据,并将读取到的信息填入预设的Excel模板中。这里我们将详细探讨NPOI的使用方法、批量读取...
在本场景中,我们将探讨如何在Winform应用中读取Excel文件,包括表名和内容。这里使用的开发工具是Visual Studio 2010,它支持.NET Framework 4.0,这使得我们可以利用Microsoft Office Interop库来操作Excel文件。 ...
C#邮件发送功能实现,以163邮箱服务器为例,读取Excel文件内容的收信人发送邮件。
在Java编程中,读取Excel文件的内容是一项常见的任务,尤其在数据处理、报表生成或数据分析等领域。Excel文件通常包含表格数据,而Java提供多种库来处理这类任务,比如Apache POI、JExcelApi和OpenCSV等。本篇将重点...
在上述的代码片段中,我们看到一个名为`ExcelReader`的类,该类是用来读取Excel文件内容的。这个类使用了Apache POI库中的`POIFSFileSystem`和`HSSFWorkbook`类来处理Excel文件。 首先,我们需要了解`...
本文将详细解析如何利用Java读取Excel文件内容,这是一项常见但至关重要的技能,尤其是在处理大量数据时。通过深入分析给定文件中的代码示例,我们将探索使用Java读取Excel的具体方法,包括必要的库导入、连接数据库...
在处理Excel文件时,QT虽然没有内置的专门模块,但可以通过一些第三方库如QAxContainer或QSpreadsheet来实现快速读取Excel文件的功能。 QAxContainer是QT提供的一个ActiveX控件容器,允许在QT应用中使用Windows的...
**C++读写Excel文件——使用OpenXLSX库** 在C++编程中,处理Excel文件通常是数据分析、报告生成或数据存储的重要环节。OpenXLSX是一个轻量级且高效的开源库,它允许开发者在C++环境中方便地读取、写入、创建和修改....
首先,要导入Excel文件到ListView,我们需要使用一个能够读取Excel文件的库,如Microsoft Office Interop库或更轻量级的第三方库,如NPOI。对于本示例,我们假设使用NPOI,因为它无需安装Office,可以跨平台运行。 ...
总结来说,使用Java和Apache POI框架读取Excel文件的内容主要包括以下几个步骤: 1. 引入Apache POI依赖。 2. 创建`FileInputStream`,加载Excel文件到`Workbook`对象。 3. 从`Workbook`中获取`Sheet`对象。 4. 遍历...
读写excel文件内容,并将其显示到vs界面上
以`SheetJS`为例,可以使用以下代码读取Excel文件: ```javascript var reader = new FileReader(); reader.onload = function(e) { var data = e.target.result; var workbook = XLSX.read(data, {type: 'binary...
在Qt框架下,读取Excel文件通常涉及到使用第三方库,如QAxContainer模块或QCustomPlot等。QAxContainer允许Qt应用程序与ActiveX控件交互,而Excel文件可以通过Microsoft的COM接口来访问。以下是详细的知识点说明: ...
自己写了一个简化版本:`可以读取Excel文件,显示到QTableWidget上 (如上图所示),也可在QTableWidget上进行修改,再保存到Excel文件中。` - `本文只考虑了单元格合并情况,其他格式问题暂未处理 (字体、颜色等)`
以下是一些关于如何在VB6中读取Excel文件及其内容的关键知识点,以及如何连接到SQL数据库以读取数据。 1. **引入对象库**:首先,你需要在VB6项目中引入Microsoft Excel Object Library。这可以通过“工程”菜单 ->...
以下将详细讲解如何通过MFC在VS2010中实现读写Excel文件的操作。 首先,我们需要了解基础的Excel文件格式。Excel文件通常以.xlsx或.xls为扩展名,它们是基于Open XML标准的。在MFC中,我们不会直接操作这些XML文件...
本主题将深入探讨如何使用C#来读取Excel文件,并将其内容展示在ListView控件中。Excel文件(如123.xls)是Microsoft Office套件中的电子表格文档,通常用于存储和处理数据。在C#中处理Excel文件可以借助多种库,如...