rt java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class XwpfTUtil {
/*String filePath = "/sta.docx";
InputStream is;
XWPFDocument doc;
Map<String, Object> params = new HashMap<String, Object>();
{
params.put("${name}", "xxx");
params.put("${sex}", "男");
params.put("${political}", "共青团员");
params.put("${place}", "sssss");
params.put("${classes}", "3102");
params.put("${id}", "213123123");
params.put("${qq}", "213123");
params.put("${tel}", "312313213");
params.put("${oldJob}", "sadasd");
params.put("${swap}", "是");
params.put("${first}", "asdasd");
params.put("${second}", "综合事务部");
params.put("${award}", "asda");
params.put("${achievement}", "完成科协网站的开发");
params.put("${advice}", "没有建议");
『贰』 请教:java从数据库获取数据导出docx,有多个表格,请问怎么导出
截一段代码给你参考
//先导入jar包org.apache.poi.ss.usermodel.Workbook
Workbook wb = ExcelUtils.create(file.getInputStream());
//获取导入模板的第一个sheet
Sheet sheet1 = wb.getSheetAt(0);
//将sheet1校验结果写到最后一列excel上
for (int i = 0; i < sheet1.getPhysicalNumberOfRows(); i++) {
//i=1就是sheet1的第一行,以此类推
Row row = sheet1.getRow(i);
Cell cell = row.createCell(14);//创建单元格
cell.setCellValue("aaaa");//设置单元格的值(i=1时表示第1行第14列)
Cell cell2 = row.createCell(13);
cell2.setCellValue("aaa");
}
FileOutputStream os = new FileOutputStream(request.getRealPath(ApplicationStatic.FILETEM)+path);
wb.write(os);
os.close();
『叁』 怎么通过JAVA往WORD的里写一张带数据表格
首先需加载你的SQLCUTE是不能错(指明点就是数据库的连接)创建的方法查询所有的数据:publicListAllObject();得到所有的数据,我们就可以开始了(最好是写在你的Service中)创建表格输出的方法(我们的数据肯定是以流的形式写进写出的,表明点就是下载该文件\\恩文件上传下载应该会吧)好话不多说,开始工程在service中定义方法:(){//为了好看点我就采用和word同类的软件exel//相当于我们创建的exel的窗体,可以查看exel的表格样式就是.xslHSSFWorkbookwb=newHSSFWorkbook();//创建sheet1一般我们的exel默认的有三个exelHSSFSheeths=wb.createSheet("sheet1");//创建row行HSSFRowhr=hs.createRow(0);//创建单元格HSSFCellhc=hr.createCell((short)0);//设置单元格的编码hc.setEncoding(HSSFCell.ENCODING_UTF_16);//设置表头的value的值hc.setCellValue("ID");//还要创建多个表头的值hc=hr.createCell((short)1);hc.setEncoding(HSSFCell.ENCODING_UTF_16);hc.setCellValue("姓");hc=hr.createCell((short)2);hc.setEncoding(HSSFCell.ENCODING_UTF_16);hc.setCellValue("名");hc=hr.createCell((short)3);hc.setEncoding(HSSFCell.ENCODING_UTF_16);hc.setCellValue("年龄");//从数据库中查出所有的用户Listls=iuser.AllListUser();//便利所有的数据for(inti=0;i<ls.size();i++){//得到第i个数据Userus=ls.get(i);//把数据放入表格中i是从0开始读取所以我们加一hr=hs.createRow(i+1);//设置编码hc=hr.createCell((short)0);hc.setEncoding(HSSFCell.ENCODING_UTF_16);//设置序号也就是在ID下的值,同样的是从0开始hc.setCellValue(i+1);//我们已经从数据库中获得了数据,所以我们可以从user中取出hc=hr.createCell((short)1);hc.setEncoding(HSSFCell.ENCODING_UTF_16);hc.setCellValue(us.getUname());hc=hr.createCell((short)2);hc.setEncoding(HSSFCell.ENCODING_UTF_16);hc.setCellValue(us.getSuname());hc=hr.createCell((short)3);hc.setEncoding(HSSFCell.ENCODING_UTF_16);hc.setCellValue(us.getAge());}//这里是在硬盘上创建一个临时文件用于用户下载,这是第一种方法//放入文件,所以必须创建个文件StringfileName=com.test.util.CUtils.getRandomString(5);//上面的文件名是用随机数写的,这样就会没相同的文件,便于输写fileName=newStringBuffer().append(fileName).append(".xls").toString();finalFilefile=newFile(fileName);//将文件输出到我们的硬盘try{OutputStreamos=newFileOutputStream(file);//把我们的数据输出到我们的HSSFWookbook中,以写入文件中wb.write(os);os.close();}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}//构建个输入流InputStreamis=null;try{//输入文件is=newFileInputStream(file);}catch(FileNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnis;//返回该输入流,完成}写完之后,可在servlet中直接调用,service中的getInputStream方法你可以写方法接收,也可以写流接收,因为过来的方法有返回值(){returniuserservice.getInputStream();}这里后面就是你自己的事勒,简单点就是重定向某个页面(查看成功啦)等等这有个弊端就是在Disk(磁盘)创建了多个文件,也就是不用的时候就是垃圾数据。实在有点勉强的话,加我 :236133039帮你解答(实战操作)
『肆』 java编程:有人做过导出word文件,并且word中附带excel文件的那种模式吗
假如是.docx文件,用XWPFDocument 这个就可以,poi里面的类
然后是XWPFTable,XWPFTableRow,XWPFTableCell类。
分别获得表格,表格的行,表格的格
doc就多了,网上随便找
但是假如又有段落还有表格,我也卡在这了,假如找到方法,麻烦提醒我一下!!
『伍』 如何用Java实现将word里的表格数据写入到excel中去
教你一方式,这个源代码肯定是需要自己写的。应该没有现成的。
是这样的,你可以把word文档,另存为xml格式的一个文件。
在用JAVA.IO的字符流去读取那个xml文件。
之后写入到生成的EXCEL表格中去。
『陆』 java中如何导出word
如果电脑里装的有WORD,可以通过JS新建一个WORD,并把页面文件拷贝进去。我这有操作Excel的,word的差不多。<input type="button" onclick="javascript:method1('tableExcel');" value="导入到EXCEL"> <SCRIPT LANGUAGE="javascript"> function method1(tableid) {//整个表格拷贝到EXCEL中 var curTbl = document.getElementById(tableid); var oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel var oWB = oXL.Workbooks.Add(); //获取workbook对象 var oSheet = oWB.ActiveSheet; //激活当前sheet var sel = document.body.createTextRange(); sel.moveToElementText(curTbl); //把表格中的内容移到TextRange中 sel.select(); //全选TextRange中内容 sel.execCommand("Copy"); //复制TextRange中内容 oSheet.Paste(); //粘贴到活动的EXCEL中 oXL.Visible = true; //设置excel可见属性 } function method2(tableid) //读取表格中每个单元到EXCEL中 { var curTbl = document.getElementById(tableid); var oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel var oWB = oXL.Workbooks.Add(); //获取workbook对象 var oSheet = oWB.ActiveSheet; //激活当前sheet var Lenr = curTbl.rows.length; //取得表格行数 for (i = 0; i < Lenr; i++) { var Lenc = curTbl.rows(i).cells.length; //取得每行的列数 for (j = 0; j < Lenc; j++) { oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText; //赋值 } } oXL.Visible = true; //设置excel可见属性 } function getXlsFromTbl(inTblId, inWindow) { try { var allStr = ""; var curStr = ""; //alert("getXlsFromTbl"); if (inTblId != null && inTblId != "" && inTblId != "null") { curStr = getTblData(inTblId, inWindow); } if (curStr != null) { allStr += curStr; } else { alert("你要导出的表不存在!"); return; } var fileName = getExcelFileName(); doFileExport(fileName, allStr); } catch(e) { alert("导出发生异常:" + e.name + "->" + e.description + "!"); } } function getTblData(inTbl, inWindow) { var rows = 0; //alert("getTblData is " + inWindow); var tblDocument = document; if (!!inWindow && inWindow != "") { if (!document.all(inWindow)) { return null; } else { tblDocument = eval(inWindow).document; } } var curTbl = tblDocument.getElementById(inTbl); var outStr = ""; if (curTbl != null) { for (var j = 0; j < curTbl.rows.length; j++) { //alert("j is " + j); for (var i = 0; i < curTbl.rows[j].cells.length; i++) { //alert("i is " + i); if (i == 0 && rows > 0) { outStr += " \t"; rows -= 1; } outStr += curTbl.rows[j].cells[i].innerText + "\t"; if (curTbl.rows[j].cells[i].colSpan > 1) { for (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++) { outStr += " \t"; } } if (i == 0) { if (rows == 0 && curTbl.rows[j].cells[i].rowSpan > 1) { rows = curTbl.rows[j].cells[i].rowSpan - 1; } } } outStr += "\r\n"; } } else { outStr = null; alert(inTbl + "不存在!"); } return outStr; } function getExcelFileName() { var d = new Date(); var curYear = d.getYear(); var curMonth = "" + (d.getMonth() + 1); var curDate = "" + d.getDate(); var curHour = "" + d.getHours(); var curMinute = "" + d.getMinutes(); var curSecond = "" + d.getSeconds(); if (curMonth.length == 1) { curMonth = "0" + curMonth; } if (curDate.length == 1) { curDate = "0" + curDate; } if (curHour.length == 1) { curHour = "0" + curHour; } if (curMinute.length == 1) { curMinute = "0" + curMinute; } if (curSecond.length == 1) { curSecond = "0" + curSecond; } var fileName = "leo_zhang" + "_" + curYear + curMonth + curDate + "_" + curHour + curMinute + curSecond + ".csv"; //alert(fileName); return fileName; } function doFileExport(inName, inStr) { var xlsWin = null; if (!!document.all("glbHideFrm")) { xlsWin = glbHideFrm; } else { var width = 6; var height = 4; var openPara = "left=" + (window.screen.width / 2 - width / 2) + ",top=" + (window.screen.height / 2 - height / 2) + ",scrollbars=no,width=" + width + ",height=" + height; xlsWin = window.open("", "_blank", openPara); } xlsWin.document.write(inStr); xlsWin.document.close(); xlsWin.document.execCommand('Saveas', true, inName); xlsWin.close(); } </SCRIPT>]
『柒』 java中怎么将word文档怎么生成图片
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可以设置各种各样字体样式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 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.getInstance即可以放路径又可以放二进制字节流
Image img =
Image.getInstance("d:\\img01800.jpg");
img.setAbsolutePosition(0,
0);
img.setAlignment(Image.RIGHT);//
设置图片显示位置
img.scaleAbsolute(60, 60);//
直接设定显示尺寸
//
img.scalePercent(50);//表示显示的大小为原尺寸的50%
// img.scalePercent(25,
12);//图像高宽的显示比例
//
img.setRotation(30);//图像旋转一定角度
document.add(img);
document.close();
}public static void main(String[] args)
{
CreateWordDemo word = new
CreateWordDemo();
String file =
"d:/demo1.doc";
try
{
word.createDocContext(file);
} catch (DocumentException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
『捌』 java用poi导出word文档,我要导出一个表格,表格的单元格中还要有一个表格,请问怎么实现
有个最简单,不用使用任何 poi 或其他第三方类库的方法生成 excel ,或 word ,
你把一个生成好的 word 例子用文件另存为 xml , docx 之类,然后你再直接用记事本去打开这个 docx ,你就会发现是 xml 格式,
这个时候,你在程序里面就直接用普通代码生成这个 xml 就可以了。