java页面生成word javaweb页面导出word - 电脑知识 - 【三明电脑网】_三明电脑维修_三明笔记本电脑维修_监控安装_市区上门维修

全国统一24小时服务热线:400-0000-000400-0000-000  / 1399000000

当前位置:首页 > 电脑知识 > 正文

java页面生成word javaweb页面导出word

发布日期:2020-09-25

摘要:求教用java 生成word!!! 1-apache的POI,此方法对Excel的导出做的很好,目前对Word的导出方面的功能尚未完全。2-纯JavaScript脚本实现。主要通过客户端调用本机Off...

java页面生成word

求教用java 生成word!!!

1-apache的POI,此方法对Excel的导出做的很好,目前对Word的导出方面的功能尚未完全。

2-纯JavaScript脚本实现。

主要通过客户端调用本机Office组件来实现。

3-在JSP页面引入头文件实现。

纯JavaScript脚本实现细节方面大体是创建一个word组件ActiveXObject("Word.Application"),用js通过表ID取得表内容然后保存到word,要注意的是js实现有很多不好的地方,例如Internet选项需要把ActiveX空间全部启用,安全级别设置为中。

这样的话岂不是每台机器都要配置一下。

其次每次生成word文档以后弹出对话框(无法保存此文件,因为它已在别处打开(C:\...\STARTUP\Powerword.dot)),出现此问题就需要把C:\Documents and Settings\当前用户名\Application Data\Microsoft\Word\STARTUP下的Powerword.dot文件删除,每次遇到此问题就需要删除文件来解决,十分不方便。

JSP页面引入来实现Word保存就方便多了,但是也有不足的地方,首先如果需要引入如果需要下载的话就引入其实如果大家用框架做就方便多了,比如Struts2。

在Action里直接写如下代码:if(out!=null){String fileName="";fileName+="评价报告.doc";try {HttpServletResponse response = ServletActionContext.getResponse();response.setHeader("Content-disposition","attachment; filename="+new String(fileName.getBytes("GB2312"), "8859_1"));} catch (UnsupportedEncodingException e) {e.printStackTrace();}out是jsp页面表单元素,一个button,用于提交表单到相应Action进行Word下载。

Action设置jsp页面头文件。

这样每次点击button就可以把相应jsp页面的内容保存到Word中并且支持下载,Word中内容并且是可编辑状态。

不足的地方在于由于表内容是动态生成,有的需要先查看在下载Word,就需要另外建立一个新JSP页面进行Word下载,当然首先要在struts.xml里配置好页面转向。

新建立的页面传值同查看页面要保持一样。

jsp页面部分内容导出生成word文档?

jsp页面导出为word文件需要利用apache的POI来完成。

核心代码如下:其实如果用框架做就方便多了,比如Struts2。

在Action里直接写如下代码: if(out!=null){ String fileName=""; fileName+="评价报告.doc"; try { HttpServletResponse response = ServletActionContext.getResponse(); response.setHeader("Content-disposition","attachment; filename="+new String(fileName.getBytes("GB2312"), "8859_1")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } out是jsp页面表单元素,一个button,用于提交表单到相应Action进行Word下载。

Action设置jsp页面头文件。

这样每次点击button就可以把相应jsp页面的内容保存到Word中并且支持下载,Word中内容并且是可编辑状态。

java怎么由html生成word,保留html样式

@RequestMapping("download")public void exportWord( HttpServletRequest request, HttpServletResponse response) throws Exception {User user = AppContext.getLoginUser(); Student student = studentSvc.findByUserId(user.getId());try {//word内容String content="";byte b[] = content.getBytes("utf-8"); //这里是必须要设置编码的,不然导出中文就会乱码。

ByteArrayInputStream bais = new ByteArrayInputStream(b);//将字节数组包装到流中 /** 关键地方* 生成word格式*/POIFSFileSystem poifs = new POIFSFileSystem(); DirectoryEntry directory = poifs.getRoot(); DocumentEntry documentEntry = directory.createDocument("WordDocument", bais); //输出文件String fileName="实习考核鉴定表";request.setCharacterEncoding("utf-8"); response.setContentType("application/msword");//导出word格式response.addHeader("Content-Disposition", "attachment;filename=" +new String( (fileName + ".doc").getBytes(), "iso-8859-1"));OutputStream ostream = response.getOutputStream(); poifs.writeFilesystem(ostream); bais.close(); ostream.close(); }catch(Exception e){AppUtils.logError("导出出错:%s", e.getMessage());} }

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 设置word页面布局 分栏

Word2007中分栏的两种方法由于排版的需要,会在一张纸上写两列文字或多列文字,在页面上左右分开,这就是分栏。

常用有两种方法。

在Word中,一个页面通常作为一个整栏进行处理,也就是一段文字从左面页边距处一直排到右面页边距处再换行。

但有时由于排版的需要,会在一张纸上写两列文字或多列文字,在页面上左右分开,这就是分栏。

合理地对文档分栏既能方便读者阅读,又能梅花页面,有时还可以节约版面。

在Word中既可以容易地生成分栏,还可以在不同节中有不同的栏数和格式。

对版面进行分栏有两种方法:一是简单分栏,二是精确分栏。

单击“页面布局”选项卡,在“页面布局”功能区中单击“分栏”按钮,打开一个下拉菜单,如下图所示,从中选择相应的栏数即可。

各分栏意义如下:一栏:表示不对文档进行文档,或取消原来的文档。

二栏:以页面中线为基准,分为左右两栏。

三栏:将页面平均分为左、中、右三栏。

偏左:分成两栏,右面的分栏比左面的分栏要宽一些。

偏右:分成两栏,左面的分栏比右面的分栏要宽一些。

1、在“页面布局”功能区中单击“分栏”按钮,打开一个下拉菜单,从中选择“更多分栏”命令,打开如下图所示的“分栏”对话框。

2、在“预设”选项组中选择分栏的格式,有“一栏”、“两栏”、“三栏”、“左”和“右”五种分栏格式可以选择。

3、如果对“预设”选项组中的分栏格式不太满意,可以在“栏数”微调框中输入所要分割的栏数。

微调框中最大分栏数根据纸张的不同而不同。

4、如果要使各栏等宽,则选中“栏宽相等”。

如果不选中“栏宽相等”,可以在“宽度和间距”选项组中设置各栏的栏宽和间距。

5、如果要在各栏之间加入分隔线,需要选中“分隔线”复选框。

6、在“应用于”下拉列表中选择分栏的范围。

7、完成设置后,单击“确定”按钮即可。

JAVA根据模板生成HTML页面的技术

Velocity变量定义:用$标志表达式语句:以#开始强控制语言:变量赋值:#set $this = "Velocity"外部引用:#include ( $1 )条件控制:#if …. #end非 兼容性语 言 JDynamiTe变量定义:用{}包装表达式语句:写在注释格式(<!-- ?)中弱控制语言兼容语言XSLT变量定义:xml标签表达式:xsl标签强控制语言:外部引用:import,include条件控制:if, choose…when…otherwise非兼容语言Tapestry采用component的形式开发。

变量定义(组件定义):在html标签中加上jwcid表达式语句:ognl规范兼容语言

java导出word文档后,怎么在客户端提供下载。

我写有一个这样的程序,用Servlet的filter来过滤生成.程序好几个源文件,这里无法贴上来.我的思路是,当用户访问网站时,如果有一个HTML,就显示这个HTML,如果还没有,就通过WEB程序到数据库中读一条记录,生成HTML,这样网站的速度就很快了.再做个定时程序,定时更新HML.

上一篇:数学工具6.3.0.3 word版

下一篇:word打文件怎么办啊 word文件打不开怎么办