当前位置: 首页 > 常见问题 > Word文档

poi导出word,抖音poi是什么意思

  • Word文档
  • 2024-07-20

poi导出word?那么,poi导出word?一起来了解一下吧。

pdf格式转word

如果只是文字的话,直接读出来,然后用07的存回去,poi能实现。但是有目录什么的就麻烦了,03的读出来目录是一行代码,就容易出问题我用的poi正好在纠结,最后没法,用按键精灵一个个转的。有个word文档批处理貌似能做到,但是要收费。下面

poi word转pdf

如果只是文字的话,直接读出来,然后用07的存回去,poi能实现。但是有目录什么的就麻烦了,03的读出来目录是一行代码,就容易出问题
我用的poi正好在纠结,最后没办法,用按键精灵一个个转的。有个word文档批处理貌似能做到,但是要收费。
下面的是我读取word文字的代码
03读取:
InputStream is = new FileInputStream(docfile);
WordExtractor ex = new WordExtractor(is);
text = ex.getText();
System.out.println(text);
07读取:
OPCPackage opcPackage = POIXMLDocument.openPackage(docxfile.getAbsolutePath());
POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);
text = extractor.getText();
System.out.println(text);
最后:doc不一定是03的,也可能是07的

poi导出excel

ZipFile docxFile = new ZipFile(new File("c:/3.docx")); ZipEntry documentXML = docxFile.getEntry("word/document.xml"); InputStream documentXMLIS = docxFile.getInputStream(documentXML); String s = "";
InputStreamReader reader = new InputStreamReader(documentXMLIS,"UTF-8"); BufferedReader br = new BufferedReader(reader); String str = null;
while ((str = br.readLine()) != null) { s = s+str; } s = s.replaceAll("${key}", "替换内容"); System.out.println(s); reader.close(); br.close(); if(true){ //return; } //ZipEntry imgFile = docxFile.getEntry("word/media/image1.png");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); InputStream documentXMLIS1 = docxFile.getInputStream(documentXML); Document doc = dbf.newDocumentBuilder().parse(documentXMLIS1); Element docElement = doc.getDocumentElement(); //assertEquals("w:document", docElement.getTagName()); Element bodyElement = (Element) docElement.getElementsByTagName( "w:body").item(0); //assertEquals("w:body", bodyElement.getTagName()); Element pElement = (Element) bodyElement.getElementsByTagName("w:p") .item(0); //assertEquals("w:p", pElement.getTagName()); Element rElement = (Element) pElement.getElementsByTagName("w:r").item( 0); //assertEquals("w:r", rElement.getTagName()); Element tElement = (Element) rElement.getElementsByTagName("w:t").item( 0); //assertEquals("w:t", tElement.getTagName()); //assertEquals("这是第一个测试文档", tElement.getTextContent()); //tElement.setTextContent("这是第一个用Java写的测试文档"); Transformer t = TransformerFactory.newInstance().newTransformer(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); t.transform(new DOMSource(doc), new StreamResult(baos)); ZipOutputStream docxOutFile = new ZipOutputStream(new FileOutputStream( "response.docx")); Enumeration<ZipEntry> entriesIter = (Enumeration<ZipEntry>) docxFile .entries(); while (entriesIter.hasMoreElements()) { ZipEntry entry = entriesIter.nextElement(); System.out.println(entry.getName());
if (entry.getName().equals("word/document.xml")) { byte[] data = baos.toByteArray(); docxOutFile.putNextEntry(new ZipEntry(entry.getName())); byte[] datas = s.getBytes("UTF-8"); docxOutFile.write(datas, 0, datas.length); //docxOutFile.write(data, 0, data.length); docxOutFile.closeEntry(); } else if(entry.getName().equals("word/media/image1.png")){ InputStream incoming = new FileInputStream("c:/aaa.jpg"); byte[] data = new byte[incoming.available()]; int readCount = incoming.read(data, 0, data.length); docxOutFile.putNextEntry(new ZipEntry(entry.getName())); docxOutFile.write(data, 0, readCount); docxOutFile.closeEntry(); }else { InputStream incoming = docxFile.getInputStream(entry); byte[] data = new byte[incoming.available()]; int readCount = incoming.read(data, 0, data.length); docxOutFile.putNextEntry(new ZipEntry(entry.getName())); docxOutFile.write(data, 0, readCount); docxOutFile.closeEntry(); } } docxOutFile.close();

ppt怎么导出word

你好,试试以下代码行不行。
package com.sample;
import java.awt.color;
import java.io.fileoutputstream;
import java.io.ioexception;
import com.lowagie.text.cell;
import com.lowagie.text.document;
import com.lowagie.text.documentexception;
import com.lowagie.text.element;
import com.lowagie.text.font;
import com.lowagie.text.fontfactory;
import com.lowagie.text.image;
import com.lowagie.text.pagesize;
import com.lowagie.text.paragraph;
import com.lowagie.text.phrase;
import com.lowagie.text.table;
import com.lowagie.text.pdf.basefont;
import com.lowagie.text.rtf.rtfwriter2;
/**
*
* @author wangyanjun
* @email bd_wyj@sina.com
* @createdate jun 12, 2008
*/
public class createworddemo {
public void createdoccontext(string file) throws documentexception,
ioexception {
// 设置纸张大小
document document = new document(pagesize.a4);
// 建立一个书写器(writer)与document对象关联,通过书写器(writer)可以将文档写入到磁盘中
rtfwriter2.getinstance(document, new fileoutputstream(file));
document.open();
// 设置中文字体
basefont bfchinese = basefont.createfont("stsongstd-light",
"unigb-ucs2-h", basefont.not_embedded);
// 标题字体风格
font titlefont = new font(bfchinese, 12, font.bold);
// 正文字体风格
font contextfont = new font(bfchinese, 10, font.normal);
paragraph title = new paragraph("标题");
// 设置标题格式对齐方式
title.setalignment(element.align_center);
title.setfont(titlefont);
document.add(title);
string contextstring = "itext是一个能够快速产生pdf文件的java类库。"
+ " \n"// 换行
+ "itext的java类对于那些要产生包含文本,"
+ "表格,图形的只读文档是很有用的。它的类库尤其与java servlet有很好的给合。"
+ "使用itext与pdf能够使你正确的控制servlet的输出。";
paragraph context = new paragraph(contextstring);
// 正文格式左对齐
context.setalignment(element.align_left);
context.setfont(contextfont);
// 离上一段落(标题)空的行数
context.setspacingbefore(5);
// 设置第一行空的列数
context.setfirstlineindent(20);
document.add(context);
//利用类fontfactory结合font和color可以设置各种各样字体样式
/**
* font.underline 下划线,font.bold 粗体
*/
paragraph underline = new paragraph("下划线的实现", fontfactory.getfont(
fontfactory.helvetica_boldoblique, 18, font.underline,
new color(0, 0, 255)));
document.add(underline);
// 设置 table 表格
table atable = new table(3);
int width[] = {25,25,50};
atable.setwidths(width);//设置每列所占比例
atable.setwidth(90); // 占页面宽度 90%
atable.setalignment(element.align_center);//居中显示
atable.setalignment(element.align_middle);//纵向居中显示
atable.setautofillemptycells(true); //自动填满
atable.setborderwidth(1); //边框宽度
atable.setbordercolor(new color(0, 125, 255)); //边框颜色
atable.setpadding(2);//衬距,看效果就知道什么意思了
atable.setspacing(3);//即单元格之间的间距
atable.setborder(2);//边框
//设置表头
/**
* cell.setheader(true);是将该单元格作为表头信息显示;
* cell.setcolspan(3);指定了该单元格占3列;
* 为表格添加表头信息时,要注意的是一旦表头信息添加完了之后,
* 必须调用 endheaders()方法,否则当表格跨页后,表头信息不会再显示
*/
cell hadercell = new cell("表格表头");
hadercell.setheader(true);
hadercell.setcolspan(3);
atable.addcell(hadercell);
atable.endheaders();
font fontchinese = new font(bfchinese, 12, font.normal, color.green);
cell cell = new cell(new phrase("这是一个测试的 3*3 table 数据", fontchinese ));
cell.setverticalalignment(element.align_top);
cell.setbordercolor(new color(255, 0, 0));
cell.setrowspan(2);
atable.addcell(cell);
atable.addcell(new cell("#1"));
atable.addcell(new cell("#2"));
atable.addcell(new cell("#3"));
atable.addcell(new cell("#4"));
cell cell3 = new cell(new phrase("一行三列数据", fontchinese ));
cell3.setcolspan(3);
cell3.setverticalalignment(element.align_center);
atable.addcell(cell3);
document.add(atable);
document.add(new paragraph("\n"));
//添加图片
image img=image.getinstance("d:\\img01800.jpg");
img.setabsoluteposition(0, 0);
img.setalignment(image.right);//设置图片显示位置
img.scaleabsolute(12,35);//直接设定显示尺寸
img.scalepercent(50);//表示显示的大小为原尺寸的50%
img.scalepercent(25, 12);//图像高宽的显示比例
img.setrotation(30);//图像旋转一定角度
document.add(img);
document.close();
}
/**
* @param args
*/
public static void main(string[] args) {
createworddemo word = new createworddemo();
string file = "c:/demo1.doc";
try {
word.createdoccontext(file);
} catch (documentexception e) {
e.printstacktrace();
} catch (ioexception e) {
e.printstacktrace();
}
}
}

poi导出word文档

程序导出word文档的方法
将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob、Apache POI、Java2Word、iText等各种方式,以及使用freemarker这样的模板引擎这样的方式。php中也有一些相应的方法,但在python中将web/html内容生成world文档的方法是很少的。其中最不好解决的就是如何将使用js代码异步获取填充的数据,图片导出到word文档中。
1. unoconv
功能:
1.支持将本地html文档转换为docx格式的文档,所以需要先将网页中的html文件保存到本地,再调用unoconv进行转换。转换效果也不错,使用方法非常简单。
?
\# 安装
sudo apt-get install unoconv
\# 使用
unoconv -f pdf *.odt
unoconv -f doc *.odt
unoconv -f html *.odt
缺点:
1.只能对静态html进行转换,对于页面中有使用ajax异步获取数据的地方也不能转换(主要是要保证从web页面保存下来的html文件中有数据)。
2.只能对html进行转换,如果页面中有使用echarts,highcharts等js代码生成的图片,是无法将这些图片转换到word文档中;
3.生成的word文档内容格式不容易控制。
2. python-docx
功能:
1.python-docx是一个可以读写word文档的python库。
使用方法:
1.获取网页中的数据,使用python手动排版添加到word文档中。

以上就是poi导出word的全部内容, 。

猜你喜欢