利用poi如何将条形码写入word中
/**条形码工具类*/public class OneBarcodeUtil {public void tool(String str){try{JBarcode localJBarcode = new JBarcode(EAN13Encoder.getInstance(), WidthCodedPainter.getInstance(), EAN13TextPainter.getInstance());//生成. 欧洲商品条码(=European Article Number)//这里我们用作图书条码 // String str = "788515004012";BufferedImage localBufferedImage = localJBarcode.createBarcode(str);saveToGIF(localBufferedImage, "EAN13.gif");localJBarcode.setEncoder(Code39Encoder.getInstance());localJBarcode.setPainter(WideRatioCodedPainter.getInstance());localJBarcode.setTextPainter(BaseLineTextPainter.getInstance());localJBarcode.setShowCheckDigit(false);//xx // str = "JBARCODE-39"; // localBufferedImage = localJBarcode.createBarcode(str); // saveToPNG(localBufferedImage, "Code39.png");}catch (Exception localException){localException.printStackTrace();}}static void saveToJPEG(BufferedImage paramBufferedImage, String paramString){saveToFile(paramBufferedImage, paramString, "jpeg");}static void saveToPNG(BufferedImage paramBufferedImage, String paramString){saveToFile(paramBufferedImage, paramString, "png");}static void saveToGIF(BufferedImage paramBufferedImage, String paramString){saveToFile(paramBufferedImage, paramString, "gif");}static void saveToFile(BufferedImage paramBufferedImage, String paramString1, String paramString2){try{FileOutputStream localFileOutputStream = new FileOutputStream("d:/images/" + paramString1);ImageUtil.encodeAndWrite(paramBufferedImage, paramString2, localFileOutputStream, 96, 96);localFileOutputStream.close();}catch (Exception localException){localException.printStackTrace();}}} /***word设置文档格式*/XWPFDocument xdoc = new XWPFDocument();XWPFParagraph p = xdoc.createParagraph();// 固定值25磅setParagraphSpacingInfo(p, true, "0", "150", null, null, true, "500",STLineSpacingRule.EXACT);// 左对齐setParagraphAlignInfo(p, ParagraphAlignment.LEFT,TextAlignment.CENTER);XWPFRun pRun = getOrAddParagraphFirstRun(p, false, false);// setParagraphRunFontInfo(p, pRun, "**********调度单", "黑体",// "Times New Roman", "24", false, false, false, false, null, null,// 0, 0, 90);setParagraphRunFontInfo(p, pRun, "oneBarcodeUtil.tool(waybill.getWaybillNo())", "黑体","Times New Roman", "24", false, false, false, false, null, null,0, 0, 90);p = xdoc.createParagraph();// 单倍行距setParagraphSpacingInfo(p, true, "0", "0", "0", "0", true, "240",STLineSpacingRule.AUTO);setParagraphAlignInfo(p, ParagraphAlignment.LEFT, TextAlignment.CENTER);pRun = getOrAddParagraphFirstRun(p, false, false);setParagraphRunFontInfo(p, pRun, "调度类型:"+departure.getDepartureType()+"制单人:"+departure.getCreator()+"打印时间:"+departure.getCreateTime(), "宋体","Times New Roman", "15", false, false, false, false, null, null,10, 6, 0);如何将条形码输入:以下是要实现的效果
java poi 操作word文档,怎么写入带上下标的文字?
步骤第一步,使用输入流打开文件,并获得文档的XWPFDocument对象。
然后获得文档的所有段落,进而获得要操作的文本框所在的段落,具体使用时候,可以通过判断或者print操作得知要操作的文本框到底是哪一段。
FileInputStream fis = newFileInputStream("e:/file.docx");XWPFDocument doc = new XWPFDocument(fis);List paragraphList =doc.getParagraphs();XWPFParagraph paragraph = paragraphList.get(10);文本框在Word中显示第二步,获取XWPFParagraph的XmlObject,然后获得XmlObject对象的游标。
可以通过打印XmlObject来得知当前XML的内容,也可以使用XmlCursor的getName方法和getTextValue方法来查看当前游标所在位置的Node及Node的值。
XmlObject object =paragraph.getCTP().getRArray(1);XmlCursor cursor = object.newCursor();第四步,通过移动游标,找到要修改的文本所在位置,然后使用游标的setTextValue来设置其值。
//修改第一处文本:cursor.toChild(1); cursor.toChild(0);cursor.toChild(3); cursor.toChild(0); cursor.toChild(0); cursor.toChild(3);cursor.toChild(1); cursor.setTextValue("First");// 修改第二处文本cursor.toParent(); cursor.toParent();cursor.toChild(1);cursor.toChild(3); cursor.toChild(1);cursor.setTextValue("Second");第四步,保存文件、关闭输入输出流。
FileOutputStream fos = newFileOutputStream("e:/export.docx");doc.write(fos);fos.flush();fos.close();fis.close();修改后的文本框
java 谁有poi读取本地word然后在替换word的内容如table、图片....的...
1. 实际上还真就得一个一个set进去2. 我现在做的程序就有这部分机能,思路就是excel→sheet→row3. 然后遍历所有row,取出所有的cell放到一个存储用结构体中。
4. 无论如何,解析的过程都需要自己来写的。
5. 你的想法我明白,其实就是想要一个java与poi的databinding,定义好的数据模块可以自动和excel的对应列进行匹配。
但是这个东西确实就没有啊,人家只封装了读取excel内容,没有提供这样的模块,只有自己写啊。
即使是60个列,事实上绑定的逻辑也就只用写一次,而且大部分的内容只要复制粘贴就好了。
springmvc poi 导出word 复选框 怎么用
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
这里的方法支持导出excel至项目所在服务器,或导出至客户端浏览器供用户下载,下面我把两个实例都放出来。
1.下载所需POI的jar包,并导入项目。
2.添加一个User类,用于存放用户实体,类中内容如下:1 package com.mvc.po;23 public class User {4 private int id;5 private String name;6 private String password;7 private int age;89 public User() {10 11 }12 13 public User(int id, String name, String password, int age) {14 this.id = id;15 this.name = name;16 this.password = password;17 this.age = age;18 }19 public int getId() {20 return id;21 }22 public void setId(int id) {23 this.id = id;24 }25 public String getName() {26 return name;27 }28 public void setName(String name) {29 this.name = name;30 }31 public String getPassword() {32 return password;33 }34 public void setPassword(String password) {35 this.password = password;36 }37 public int getAge() {38 return age;39 }40 public void setAge(int age) {41 this.age = age;42 }43 }3.添加一个UserController类,类中内容如下:1 package com.mvc.controller;23 import java.text.SimpleDateFormat;4 import java.util.Date;56 import javax.servlet.ServletOutputStream;7 import javax.servlet.http.HttpServletResponse;89 import org.springframework.stereotype.Controller;10 import org.springframework.beans.factory.annotation.Autowired;11 import org.springframework.web.bind.annotation.RequestMapping;12 import org.springframework.web.bind.annotation.ResponseBody;13 14 import com.mvc.po.User;15 import com.mvc.service.UserService;16 17 @Controller18 public class UserController {19 20 @Autowired21 private UserService userService;22 23 @RequestMapping("/export.do")24 public @ResponseBody String export(HttpServletResponse response){ 25 response.setContentType("application/binary;charset=utf-8");26 try{27 ServletOutputStream out=response.getOutputStream();28 String fileName=new String(("UserInfo "+ new SimpleDateFormat("yyyy-MM-dd").format(new Date())).getBytes(),"UTF-8");29 response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xls");30 String[] titles = { "用户编号", "用户姓名", "用户密码", "用户年龄" }; 31 userService.export(titles, out);32 return "success";33 } catch(Exception e){34 e.printStackTrace();35 return "导出信息失败";36 }37 }38 }4.添加一个接口类UserService和实现类UserServiceImpl,类中内容如下:1 package com.mvc.service;2 3 import javax.servlet.ServletOutputStream;4 import com.mvc.po.User;5 6 public interface UserService {7 public void export(String[] titles, ServletOutputStream out);8 }1 package com.mvc.service.impl;23 import java.text.SimpleDateFormat;4 import java.util.List;56 import javax.servlet.ServletOutputStream;78 import com.mvc.dao.UserDAO;9 import com.mvc.po.User;10 import com.mvc.service.UserService;11 12 import org.apache.poi.hssf.usermodel.HSSFCell;13 import org.apache.poi.hssf.usermodel.HSSFCellStyle;14 import org.apache.poi.hssf.usermodel.HSSFRow;15 import org.apache.poi.hssf.usermodel.HSSFSheet;16 import org.apache.poi.hssf.usermodel.HSSFWorkbook;17 import org.springframework.beans.factory.annotation.Autowired;18 import org.springframework.stereotype.Service;19 20 @Service21 public class UserServiceImpl implements UserService {22 23 @Autowired24 private UserDAO userDAO;25 26 @Override27 public void export(String[] titles, ServletOutputStream out) { 28 try{29 // 第一步,创建一个workbook,对应一个Excel文件30 HSSFWorkbook workbook = new HSSFWorkbook();31 // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet32 HSSFSheet hssfSheet = workbook.createSheet("sheet1");33 // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short34 HSSFRow hssfRow = hssfSheet.createRow(0);35 // 第四步,创建单元格,并设置值表头 设置表头居中36 HSSFCellStyle hssfCellStyle = workbook.createCellStyle();37 //居中样式38 hssfCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);39 40 HSSFCell hssfCell = null;41 for (int i = 0; i < titles.length; i++) {42 hssfCell = hssfRow.createCell(i);//列索引从0开始43 hssfCell.setCellValue(titles[i]);//列名144 hssfCell.setCellStyle(hssfCellStyle);//列居中显示 45 }46 47 // 第五步,写入实体数据 48 List users = userDAO.query(); 49 50 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");51 if(users != null && !users.isEmpty()){52 for (int i = 0; i < users.size(); i++) {53 hssfRow = hssfSheet.createRow(i+1); 54...
poi中,如何向Word文档里添加表格?
展开全部 //创建一个表格 XWPFTable table = doc.createTable(4,2); table.setCellMargins(50, 0, 50,3000);//top, left, bottom, right// table.setInsideHBorder(XWPFBorderType.NONE, 0, 0, "");//去除单元格间的横线 table.getRow(0).getCell(0).setText("字段一:"); table.getRow(0).getCell(1).setText("字段二:"); table.getRow(1).getCell(0).setText("字段三:"); table.getRow(1).getCell(1).setText("字段四:");...
poi设置word中表格的单元格样式为居中
excel表格中合并的单元格内的字居中到两行之间的位置:1、选中合并后的单元格2、在工具菜单栏选择 格式 在下拉菜单选择单元格3、在单元格格式选项卡下面选择对齐4、在文本对齐方式中水平对齐 选择居中,在垂直对齐下面选择居中。
确定。
后单元格内的字就会居中到两行之间的位置了。
"poi"是什么?
翻译结果:"对“一. 基本概念Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
二. 基本功能结构:HSSF - 提供读写Microsoft Excel格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。
HWPF - 提供读写Microsoft Word格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio格式档案的功能。
三. 范文演示创建Excel 文档示例1将演示如何利用Jakarta POI API 创建Excel 文档。
示例1程序如下:读取Excel文档中的数据示例2将演示如何读取Excel文档中的数据。
假定在D盘JTest目录下有一个文件名为test1.xls的Excel文件。
示例2程序如下:设置单元格格式在这里,我们将只介绍一些和格式设置有关的语句,我们假定workbook就是对一个工作簿的引用。
在Java中,第一步要做的就是创建和设置字体和单元格的格式,然后再应用这些格式:1、创建字体,设置其为红色、粗体:2、创建格式3、应用格式处理WORD文档
转载请注明出处51数据库 » poi 写入word
她的梦是蓝天