java 通过jacob 生成的word 中文乱码 ,应该怎么解决?求救!!!

技术脚印 2012-11-21 02:10:46
=========================代码==============================
public static void main(String args[]) throws Exception {

MSWordManager msWordManager = new MSWordManager(true);
msWordManager.createNewDocument();
msWordManager.createTable(5, 4);
msWordManager.addTableRow(1, 1);
msWordManager.autoFitTable();
msWordManager.insertText("Omg 总共");
msWordManager.putTxtToCell(1,1,1,"为什么");
msWordManager.moveEnd();
//msWordManager.save("c:/hahahahah.doc");changeCharset("为什么","GBK")
msWordManager.close()
}
======================word===================
word中的乱码:Omg 鎬诲叡
...全文
682 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lt26w 2014-07-02
  • 打赏
  • 举报
回复
楼主我照你说的改变编码文档还是直接打开乱码,没有选择编码
技术脚印 2012-11-29
  • 打赏
  • 举报
回复
我直接换ITEXT了 我的环境是 (utf-8);jacob中 main()中加上 Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] { "c:/omg144455.doc", new Variant(7) }, new int[2]); 在打开word的时候就会选择编码。 word2007的编码格式是gb2312(默认) 只要把程序的环境换成gb2312就不会有乱码
北山一十六 2012-11-28
  • 打赏
  • 举报
回复
哥...乱码问题解决了木有,我是往大蚂蚁发送消息,出来的也是乱码
dracularking 2012-11-23
  • 打赏
  • 举报
回复
引用 4 楼 yn49782026 的回复:
s 和 str 是相同的。 那请问 :怎么在jacobjacob写入汉字时,改变其编码呢?com.jacob.com.Dispatch 是操作word的核心类 ,百度了半天也没看到有源码 和帮助文档。
jacob的相关资料是挺少的,也难怪,他官网都没多少料。 msWordManager.insertText("Omg 总共"); 像这样insertText有没有带encoding参数的重载方法啊?你在eclipse里可以试出来的 包括有没有类似setEncoding之类设置编码的方法
技术脚印 2012-11-21
  • 打赏
  • 举报
回复
技术脚印 2012-11-21
  • 打赏
  • 举报
回复
s 和 str 是相同的。 那请问 :怎么在jacobjacob写入汉字时,改变其编码呢?com.jacob.com.Dispatch 是操作word的核心类 ,百度了半天也没看到有源码 和帮助文档。
dracularking 2012-11-21
  • 打赏
  • 举报
回复
你的changeCode方法起到什么作用了? s = new String(str.getBytes(code),code); 两个逆运算返回原点,等于什么也没干,你看看s和str是不是相同的?
技术脚印 2012-11-21
  • 打赏
  • 举报
回复
private static String changeCode(String str ,String code){ String s = ""; try { s = new String(str.getBytes(code),code); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(s); return s; } 这是代码 :utt-8 utf-16 unicode gbk gb2312 都试了 还是乱码
dracularking 2012-11-21
  • 打赏
  • 举报
回复
word解码很可能是固定,比如UTF-8,而你jacob写入汉字时的编码未必与word解码时的一致,就可能会这样 在jacob写入汉字时,各种编码都试试

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧