怎么在word里面写java代码
Jacob解决Word文档的读写问题收藏Jacob 是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。
使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。
Jacob下载的地址为:http://sourceforge.net/project/showfiles.php?group_id=109543&package_id=118368配置:(1)将解压包中的jacob.dll(x86常用,x64)拷到jdk安装目录下的jre\bin文件夹或windows安装路径下的WINDOWS\system32文件夹下(2)将jacob.jar文件拷到classpath下即可常见问题解决:对于”java.lang.UnsatisfiedLinkError: C:\WINDOWS\system32\jacob-1.14.3-x86.dll: 由于应用程序配置不正确,应用程序未能启动。
重新安装应用程序可能会纠正”这个问题,可以通过重新下载Jacob的jar及dll文件(最好版本比现在的低,如1.11)解决实例制作(主要功能:标题制作,表格制作,合并表格,替换文本,页眉页脚,书签处理):import com.jacob.activeX.ActiveXComponent;import com.jacob.com.Dispatch;import com.jacob.com.Variant;public class WordOperate { public static void main(String args[]) { ActiveXComponent wordApp = new ActiveXComponent("Word.Application"); // 启动word // Set the visible property as required. Dispatch.put(wordApp, "Visible", new Variant(true));// //设置word可见 Dispatch docs = wordApp.getProperty("Documents").toDispatch(); // String inFile = "d:\\test.doc"; // Dispatch doc = Dispatch.invoke(docs, "Open", Dispatch.Method, // new Object[] { inFile, new Variant(false), new Variant(false)},//参数3,false:可写,true:只读 // new int[1]).toDispatch();//打开文档 Dispatch document = Dispatch.call(docs, "Add").toDispatch();// create new document String userName = wordApp.getPropertyAsString("Username");// 显示用户信息 System.out.println("用户名:" + userName); // 文档对齐,字体设置//////////////////////// Dispatch selection = Dispatch.get(wordApp, "Selection").toDispatch(); Dispatch align = Dispatch.get(selection, "ParagraphFormat") .toDispatch(); // 行列格式化需要的对象 Dispatch font = Dispatch.get(selection, "Font").toDispatch(); // 字型格式化需要的对象 // 标题处理//////////////////////// Dispatch.put(align, "Alignment", "1"); // 1:置中 2:靠右 3:靠左 Dispatch.put(font, "Bold", "1"); // 字型租体 Dispatch.put(font, "Color", "1,0,0,0"); // 字型颜色红色 Dispatch.call(selection, "TypeText", "Word文档处理"); // 写入标题内容 Dispatch.call(selection, "TypeParagraph"); // 空一行段落 Dispatch.put(align, "Alignment", "3"); // 1:置中 2:靠右 3:靠左 Dispatch.put(selection, "Text", " "); Dispatch.call(selection, "MoveDown"); // 光标标往下一行 //表格处理//////////////////////// Dispatch tables = Dispatch.get(document, "Tables").toDispatch(); Dispatch range = Dispatch.get(selection, "Range").toDispatch(); Dispatch table1 = Dispatch.call(tables, "Add", range, new Variant(3), new Variant(2), new Variant(1)).toDispatch(); // 设置行数,列数,表格外框宽度 // 所有表格 Variant tableAmount = Dispatch.get(tables, "count"); System.out.println(tableAmount); // 要填充的表格 Dispatch t1 = Dispatch.call(tables, "Item", new Variant(1)) .toDispatch(); Dispatch t1_row = Dispatch.get(t1, "rows").toDispatch();// 所有行 int t1_rowNum = Dispatch.get(t1_row, "count").getInt(); Dispatch.call(Dispatch.get(t1, "columns").toDispatch(), "AutoFit");// 自动调整 int t1_colNum = Dispatch.get(Dispatch.get(t1, "columns").toDispatch(), "count").getInt(); System.out.println(t1_rowNum + " " + t1_colNum); for (int i = 1; i <= t1_rowNum; i++) { for (int j = 1; j <= t1_colNum; j++) { Dispatch cell = Dispatch.call(t1, "Cell", new Variant(i), new Variant(j)).toDispatch();// 行,列 Dispatch.call(cell, "Select"); Dispatch.put(selection, "Text", "cell" + i + j); // 写入word的内容 Dispatch.put(font, "Bold", "0"); // 字型租体(1:租体 0:取消租体) Dispatch.put(font, "Color", "1,1,1,0"); // 字型颜色 Dispatch.put(font, "Italic", "1"); // 斜体 1:斜体 0:取消斜体 Dispatch.put(font, "Underline", "1"); // 下划线 Dispatch Range = Dispatch.get(cell, "Range").toDispatch(); String cellContent = Dispatch.get(Range, "Text").toString(); System.out.println((cellContent.substring(0, cellContent .length() - 1)).trim()); } Dispatch.call(selection, "MoveDown"); // 光标往下一行(才不会输入盖过上一输入位置) } //合并单元格//////////////////////// Dispatch.put(selection, "Text", " "); Dispatch.call(selection, "MoveDown"); // 光标标往下一行 Dispatch range2 = Dispatch.get(selection, "Range").toDispatch(); Dispatch table2 = Dispatch.call(tables, "Add", range2, new Variant(8), new Variant(4), new Variant(1))....
编写一程序,给java源程序加上行号保存;然后读取有行号的java源程...
importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.InputStreamReader;importjava.io.PrintWriter;publicclassTest {/***@paramargs*/publicstaticvoidmain(String[] args) {//TODOAuto-generated method stubString srcPath="";//源代码文件路径String addRowNumPath="";//加行号后的文件保存路径String removeRowNumPath="";//去行号还原后的文件保存路径try{BufferedReader br=newBufferedReader(newInputStreamReader(newFileInputStream(srcPath)));PrintWriter pw=newPrintWriter(addRowNumPath);/*** 加行号保存* */String line=null;introw=1;//行号while((line=br.readLine())!=null){String newline=row+" "+line;pw.println(newline);row++;//行号递增pw.flush();}pw.close();br.close();/*** 去行号还原* */br=newBufferedReader(newInputStreamReader(newFileInputStream(addRowNumPath)));pw=newPrintWriter(removeRowNumPath);while((line=br.readLine())!=null){String newline=line.substring(line.indexOf(" "));pw.println(newline);pw.flush();}pw.close();br.close();}catch(Exception e) {//TODOAuto-generated catch blocke.printStackTrace();}}}
怎么由java实现html到word的代码?
使用poi。
先在后台查出你想要的数据,然后使用poi来生成带格式的文档。
具体例子网上很多,关键字:poi生成Word。
试试看你后边说的那个问题就不太懂了。
一般情况下,都是生成低版本的office,高版本的会自动兼容的。
2013的我不知道,比如你可以生成07的Word,2013的应该能兼容,也就是说可以打开。
java怎么判断word文档版本
展开全部 作为第一个程序,很多人会选择Hello World,在java里,可使用控制台程序实现这个功能,具体步骤如下:1、编写代码Hello.java(可直接使用记事本编写,存储到c:\下)public class Hello{ public static void main (String[] args) throws java.lang.Exception { System.out.println("hello world!"); }}2、安装jre或jdk运行cmd命令,输入java -version,可以看到版本信息则说明java环境正常3、在cmd窗口中,进入c:\,输入javac Hello.java4、在cmd窗口中,输入java Hello,看到hello world!...
java读取带格式word内容
// 表格类型ListtableList = doc.getTables();for (int i = 0; i System.out.println(i);XWPFTable table = tableList.get(i);System.out.println(table.getText());}获取表格中内容可以用这个,但是你说的格式是什么意思,每个字的字体之类的吗?
转载请注明出处51数据库 » java word 行号