1.java读取txt文档,并进行分页
用StringTokenizer:StringTokenizer是java中object类的一个子类,继承自 Enumeration接口。
此类允许一个应用程序进入一个令牌(tokens),而且StringTokenizer类用起来StreamTokenizer 类更加简单。StringTokenizer不会区分对象、函数、数组、或引证字符串。
代码:import java.util.Comparator;public class AgeComparator implements Comparator{ public int compare(Person object1, Person object2) { // TODO Auto-generated method stub if(object1.getAge() > object2.getAge()) return 1; else if (object1.getAge() < object2.getage()){="" return="" -1;="" }="" else="" return="" 0;="" }}public="" class="" person="" {="" private="" string="" date;="" private="" string="" name;="" private="" int="" age;="" private="" string="" sex;="" public="" string="" getdate()="" {="" return="" date;="" }="" public="" string="" getname()="" {="" return="" name;="" }="" public="" int="" getage()="" {="" return="" age;="" }="" public="" string="" getsex()="" {="" return="" sex;="" }="" public="" void="" setdate(string="" date)="" {="" this.date="date;" }="" public="" void="" setname(string="" name)="" {="" this.name="name;" }="" public="" void="" setage(int="" age)="" {="" this.age="age;" }="" public="" void="" setsex(string="" sex)="" {="" this.sex="sex;" }}import="" java.io.bufferedreader;import="" java.io.bufferedwriter;import="" java.io.filenotfoundexception;import="" java.io.filereader;import="" java.io.filewriter;import="" java.io.ioexception;import="" java.util.iterator;import="" java.util.stringtokenizer;import="" java.util.treeset;public="" class="" myfilereader="" {="" public="" static="" void="" main(string[]="" args)="" {="" bufferedreader="" br="null;" bufferedwriter="" bw="null;" try="" {="" agecomparator="" ac="new" agecomparator();="" treeset="" ts="new" treeset(ac);="" br="new" bufferedreader(new="" filereader("a.txt"));="" string="" temp="null;" while="" ((temp="br.readLine())" !="null)" {="" stringtokenizer="" st="new" stringtokenizer(temp);="" if(st.counttokens()="=" 4){="" person="" person="new" person();="" person.setdate(st.nexttoken());="" person.setname(st.nexttoken());="" person.setage(integer.parseint(st.nexttoken()));="" person.setsex(st.nexttoken());="" ts.add(person);="" }="" else{="" system.out.println("数据格式有问题");="" return;="" }="" }="" iterator="" iter="ts.iterator();" bw="new" bufferedwriter(new="" filewriter("b.txt"));="" for(;iter.hasnext();){="" person="" person="iter.next();" stringbuffer="" sb="new" stringbuffer();="" sb.append(person.getdate()+"="" "+person.getname()+"="" "+person.getage()+"="" "+person.getsex()+"\r\n");="" system.out.print(sb.tostring());="" bw.write(sb.tostring());="" bw.flush();="" }="" }="" catch="" (filenotfoundexception="" e)="" {="" todo="" auto-generated="" catch="" block="" e.printstacktrace();="" }="" catch="" (ioexception="" e)="" {="" todo="" auto-generated="" catch="" block="" e.printstacktrace();="" }="" finally{="" try="" {="" br.close();="" bw.close();="" }="" catch="" (ioexception="" e)="" {="" todo="" auto-generated="" catch="" block="" e.printstacktrace();="" }="" }="">
2.WORD文档分页问题
将光标置于第五页的最后,菜单:插入/分隔符,选择下一页,确定后,光标自动到了下一页,也就是你的第二个页序的开始页;菜单:视图/页眉页脚,出现页眉页脚工具栏时,切换到页脚,页脚的右上角同时出现“与上一节相同”,首先点击工具栏中的“链接到前一个”按钮,这时“与上一节相同”消失,说明此状态下的当前页已经和前面的分作了两节,此时设置页脚后,前面的页面上不会出现页码。
然后在页眉页脚工具栏中选择“设置页码格式”按钮,在页码编排选项中选择起始页码,然后在框中书写1,或单击向上的按钮;确定后,开始为1的页码编排就成功了。同理,将光标置于第一页,双击页脚处,同上操作, 开始自己的页码编排 。
3.怎么用java导出word
java导出word代码如下:package com.bank.util;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;public class WordTools { 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(0);//衬距,看效果就知道什么意思了 aTable.setSpacing(0);//即单元格之间的间距 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("
jacob是java和windows下的com桥,通过它我们可以在java程序中调用COM组件。
如果你的JDK是1。4,那你需要下载jacob1。
9的jni库才能正常运行,早期版本在JDK1。4下有些问题。
package com;/** * Title:Word文档转html类 * Description: * Copyright:() 2002 * @author 舵手 * @version 1。 0 */import com。
jacob。com。
*;import com。jacob。
activeX。*; public class WordtoHtml { /** *文档转换函数 *@param docfile word文档的绝对路径加文件名(包含扩展名) *@param htmlfile 转换后的html文件绝对路径和文件名(不含扩展名) */ public static void change(String docfile, String htmlfile) { ActiveXComponent app = new ActiveXComponent("Word。
Application");// 启动word try { app。setProperty("Visible", new Variant(false)); //设置word不可见 Object docs = app。
getProperty("Documents")。 toDispatch(); Object doc = Dispatch。
invoke(docs,"Open",Dispatch。Method,new Object[] { docfile, new Variant(false),new Variant(true) }, new int[1])。
toDispatch(); // 打开word文件 Dispatch。invoke(doc, "SaveAs", Dispatch。
Method, new Object[] {htmlfile, new Variant(8) }, new int[1]); // 作为html格式保存到临时文件 Variant f = new Variant(false); Dispatch。 call(doc, "Close", f); } catch (Exception e) { e。
printStackTrace(); } finally { app。invoke("Quit", new Variant[]{}); } } public static void main(String[] strs){ WordtoHtml。
change("c:\\a\\运输管理调度系统总体方案。doc", "c:\\a\\t"); }}。
转载请注明出处51数据库 » java导出word文档分页