「javapoi技术」javapojo
今天给各位分享javapoi技术的知识,其中也会对javapojo进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java利用poi技术导入批量excel数据,并且分段存入数据库怎么解决
- 2、java中poi如何将word文档转换成pdf
- 3、怎样用Java、POI技术来读取Word文档,并把Word文档的原来格式完整地显示在页面上?
- 4、java使用什么技术实现excel数据的批量导入导出
- 5、Java的poi技术 重命名Sheet
java利用poi技术导入批量excel数据,并且分段存入数据库怎么解决
注意引入的都是poi的包,使用Cell,excel2003的.xls对应是HSSFCell,而之后的xlsx对应的则是XSSFCell,但是他们都继承于Cell,所以使用Cell就可以使用两种格式的excel导入了,下面解决excel中数据的各种格式
[java] view plaincopy
//读取excel
try {
request.setCharacterEncoding("gbk");
response.setContentType("text/html;charset=gbk");
// 1. 创建工厂类
DiskFileItemFactory factory = new DiskFileItemFactory();
// 2. 创建FileUpload对象
ServletFileUpload upload = new ServletFileUpload(factory);
// 3. 判断是否是上传表单
// boolean b = upload.isMultipartContent(request);
// 设置上传文件最大值
upload.setSizeMax(25 * 1024 * 1024);
// 是文件上传表单
// 4. 解析request,获得FileItem项
ListFileItem fileitems = upload.parseRequest(request);
// 5. 遍历集合
for (FileItem item : fileitems) {
// 判断是不是普通字段
if (!item.isFormField()) {
// 获得流,读取数据写入文件
InputStream in = item.getInputStream();
Workbook book = createWorkBook(in,item.getName());
// 获得第一个工作表对象
Sheet sheet = book.getSheetAt(0);
if(0==sheet.getLastRowNum()){
//如果没有数据
request.setAttribute("message", "excel的sheet0中不存在数据");
request.getRequestDispatcher("/cc/util/excelToData.jsp").forward(request, response);
}
// 第一行为标题,从第二行开始录入
for (int i = 1; i = sheet.getLastRowNum(); i++) {
//标题行,用来对比方便得到数据
Row titleRow = sheet.getRow(0);
//数据行
Row row = sheet.getRow(i);
//获得值
String value_temp= this.getValue((Cell) row.getCell(2));
}
}
}
} catch (Exception e) {
e.printStackTrace();
message="导入失败br/"+message;
request.setAttribute("message",message);
request.getRequestDispatcher("/cc/util/excelToData.jsp").forward(request, response);
}
java中poi如何将word文档转换成pdf
在Java中使用POI将Word文档转换为PDF需要以下步骤:
添加POI和相关的依赖库,例如:poi-ooxml、poi-ooxml-schemas和itextpdf等。
加载Word文档:
java
InputStream inputStream = new FileInputStream("test.docx");
XWPFDocument document = new XWPFDocument(inputStream);
创建PDF输出流:
java
OutputStream outputStream = new FileOutputStream("test.pdf");
PdfOptions options = PdfOptions.create();
使用POI中提供的方法将Word文档转换为PDF:
scss
PdfConverter.getInstance().convert(document, outputStream, options);
关闭输入输出流:
go
Copy code
inputStream.close();
outputStream.close();
完整代码示例:
java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.converter.pdf.PdfOptions;
import org.apache.poi.xwpf.converter.pdf.PdfConverter;
public class WordToPDFConverter {
public static void main(String[] args) throws Exception {
InputStream inputStream = new FileInputStream("test.docx");
XWPFDocument document = new XWPFDocument(inputStream);
OutputStream outputStream = new FileOutputStream("test.pdf");
PdfOptions options = PdfOptions.create();
PdfConverter.getInstance().convert(document, outputStream, options);
inputStream.close();
outputStream.close();
}
}
请注意,该方法依赖于操作系统上安装的MS Office软件,因此需要确保系统上安装了MS Office并配置了正确的环境变量。
怎样用Java、POI技术来读取Word文档,并把Word文档的原来格式完整地显示在页面上?
POI 技术一般人都很少接触的
我也才刚学
看能不能帮你。。。
java使用什么技术实现excel数据的批量导入导出
java使用第三方工具包POI技术实现excel数据的批量导入导出。
举例如下:
1、下载apache的相关jar包。poi-ooxml-3.6.jar xmlbeans-2.3.0.jar等,如图:
2、编写相关的读写类
/**
* 读取xls文件内容
*/
private
ListXlsDto readXls() throws
IOException {
InputStream is = new
FileInputStream("test.xls");
HSSFWorkbook hssfWorkbook = new
HSSFWorkbook(is);
XlsDto xlsDto = null;
ListXlsDto list = new
ArrayListXlsDto();
// 循环工作表Sheet
for
(int numSheet = 0; numSheet hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if
(hssfSheet == null) {
continue;
}
// 循环行Row
for
(int rowNum = 1; rowNum = hssfSheet.getLastRowNum(); rowNum++) {
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if
(hssfRow == null) {
continue;
}
xlsDto = new
XlsDto();
// 循环列Cell
// 0学号 1姓名 2学院 3课程名 4 成绩
// for (int cellNum = 0; cellNum =4; cellNum++) {
HSSFCell xh = hssfRow.getCell(0);
if
(xh == null) {
continue;
}
xlsDto.setXh(getValue(xh));
HSSFCell xm = hssfRow.getCell(1);
if
(xm == null) {
continue;
}
xlsDto.setXm(getValue(xm));
HSSFCell yxsmc = hssfRow.getCell(2);
if
(yxsmc == null) {
continue;
}
xlsDto.setYxsmc(getValue(yxsmc));
HSSFCell kcm = hssfRow.getCell(3);
if
(kcm == null) {
continue;
}
xlsDto.setKcm(getValue(kcm));
HSSFCell cj = hssfRow.getCell(4);
if
(cj == null) {
continue;
}
xlsDto.setCj(Float.parseFloat(getValue(cj)));
list.add(xlsDto);
}
}
return
list;
}
3、导出就是输入到一个新的excel文件里面
public void writeXls(ListStudent list, String path) throws Exception {
if (list == null) {原始数据为空,直接返回
return;
}
int countColumnNum = list.size();//设置列数
HSSFWorkbook book = new HSSFWorkbook(); //创建工作表对象
HSSFSheet sheet = book.createSheet("studentSheet");
// 创建第一行
HSSFRow firstRow = sheet.createRow(0);
HSSFCell[] firstCells = new HSSFCell[countColumnNum];
//创建表头
String[] options = { "no", "name", "age", "score" };
//循环数据域
for (int j = 0; j options.length; j++) {
firstCells[j] = firstRow.createCell(j);
firstCells[j].setCellValue(new HSSFRichTextString(options[j]));
}
//处理每一个cell的值
for (int i = 0; i countColumnNum; i++) {
HSSFRow row = sheet.createRow(i + 1);
Student student = list.get(i);
for (int column = 0; column options.length; column++) {
HSSFCell no = row.createCell(0);
HSSFCell name = row.createCell(1);
HSSFCell age = row.createCell(2);
HSSFCell score = row.createCell(3);
no.setCellValue(student.getNo());
name.setCellValue(student.getName());
age.setCellValue(student.getAge());
score.setCellValue(student.getScore());
}
}
File file = new File(path);
OutputStream os = new FileOutputStream(file);
System.out.println(Common.WRITE_DATA + path);
book.write(os);
os.close();
}
Java的poi技术 重命名Sheet
设置sheet名称和单元格内容为中文
wb.setSheetName(n, "中文",HSSFCell.ENCODING_UTF_16);
cell.setEncoding((short) 1);
cell.setCellValue("中文");
关于javapoi技术和javapojo的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。