日期:2014-05-20  浏览次数:20676 次

jacob处理word的相关操作
各位大虾:

    我想知道jacob获取word中某个单元格的位置信息,项目需要,请大家帮帮忙,在网上找了好久都没找到。

先谢谢了。

    另外用jacob向下创建表格的一行,怎么实现?(不是向上,网上全是向上创建的)
jacob word java

------解决方案--------------------
你可以下载一个PageOffice组件试试,可以读取word指定单元格的内容、图片,也可以创建表格,调用InsertRowAfter()方法可以向下追加新行
------解决方案--------------------
jacob貌似还需要dll支持

为什么不试试用POI或者JXl哪

------解决方案--------------------
1.    public void putTxtToCell(int tableIndex, int cellRowIdx, int cellColIdx,
            String txt) {
        Dispatch tables = Dispatch.get(doc, "Tables").toDispatch(); // 获取表格属性
        Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
                .toDispatch(); // 要填充的表格
        Dispatch cell = Dispatch.call(table, "Cell", new Variant(cellRowIdx),
                new Variant(cellColIdx)).toDispatch();
        Dispatch.call(cell, "Select");
        Dispatch.put(selection, "Text", txt); // put()方法设置表格内容
    }

2.  try {
            msWordManager.createNewDocument(); // 新建文档
            msWordManager.createTable(5, 5); // 创建5行5列的表格
            msWordManager.putTxtToCell(1, 1, 1, "编号"); // 向第1行第1列中添加内容
            msWordManager.putTxtToCell(1, 2, 1, "1"); // 向第2行第1列中添加内容
            msWordManager.putTxtToCell(1, 1, 2, "姓名"); 
            msWordManager.putTxtToCell(1, 2, 2, "李四");
            msWordManager.putTxtToCell(1, 1, 3, "年龄");
            msWordManager.putTxtToCell(1, 2, 3, "30");
            msWordManager.putTxtToCell(1, 1, 4, "性别");
            msWordManager.putTxtToCell(1, 2, 4, "男");
            msWordManager.putTxtToCell(1, 1, 5, "学历");
            msWordManager.putTxtToCell(1, 2, 5, "本科");