autol.js pro9 云控 js创建docx文档和读取docx文档 Android鸿蒙使用Apache POI操作word文件

Apache POI库可用于处理以下文件类型

Microsoft Office文件类型:

  • Word文档(.doc、.docx)
  • Excel电子表格(.xls、.xlsx)
  • PowerPoint演示文稿(.ppt、.pptx)

开放文档格式(ODF)文件类型:

  • ODT文档(OpenDocument Text)
  • ODS电子表格(OpenDocument Spreadsheet)
  • ODP演示文稿(OpenDocument Presentation
  • CSV文件(逗号分隔值)

除了以上文件类型,Apache POI还支持其他Microsoft Office文件格式和扩展,比如:

  • Word 2003 XML格式(.xml)
  • Excel 2003 XML格式(.xml)
  • PowerPoint 2003 XML格式(.xml)
    需要注意的是,虽然POI库对于一些非Microsoft Office文件类型的支持有限,但你仍然可以使用POI来读取和写入这些文件类型的数据。

创建docx文档

var FilePath = "/sdcard/cloud/download/文档.docx";
/* 调用函数createWordFile生成docx文档 */
createWordFile(FilePath);
/* 生成docx文档 
  参数FilePath:文件路径
  */
function createWordFile(FilePath) {
  let document = new org.apache.poi.xwpf.usermodel.XWPFDocument();

  /* 创建段落和运行文本 */
  let paragraph = document.createParagraph();
  let run = paragraph.createRun();

  /*  设置标题居中 */
  paragraph.setAlignment(org.apache.poi.xwpf.usermodel.ParagraphAlignment.CENTER);

  /*  设置文本内容和样式 */
  run.setText("你的文本内容");
  run.setBold(true);
  run.setFontSize(12);
  /* 设置文本首行缩进和段间距、行间距 */
  paragraph.setIndentationFirstLine(400);
  paragraph.setSpacingAfter(200);

  /* 设置文本颜色 */
  run.setColor("FF0000"); /* 设置为红色,颜色值可根据需求自行调整 */

  /* 添加当前日期 */
  run.setText(java.time.LocalDate.now().toString()); /*  获取当前日期 */

  /* 创建表格 */
  let table = document.createTable(3, 3); /* 3 行 3 列的表格 */
  let rows = table.getRows();

  /*  设置表格样式 */
  table.setWidth(String(10000));

  /* 创建第一个段落和运行文本 */
  let paragraph2 = document.createParagraph();
  let run2 = paragraph2.createRun();
  paragraph2.setIndentationFirstLine(400); /* 设置首行缩进 */

  /* 设置第一个段落的文本内容和样式 */
  run2.setText("第一个段落的文本内容,我首行缩进");
  run2.setFontSize(12);

  /* 创建第二个段落和运行文本 */
  let paragraph3 = document.createParagraph();
  let run3 = paragraph3.createRun();
  paragraph3.setIndentationFirstLine(400); /* 设置首行缩进 */

  /* 设置第二个段落的文本内容和样式 */
  run3.setText("第二个段落的文本内容,我首行缩进");
  run3.setFontSize(12);

  /* 创建第三个段落和运行文本 */
  let paragraph4 = document.createParagraph();
  let run4 = paragraph4.createRun();

  /* 设置运行文本的样式和内容 */
  run4.setText("第三个段落的文本内容,我不首行缩进");
  run4.setFontSize(12);
  run4.setColor("FF0000"); /* 设置为红色,颜色值可根据需求自行调整 */

  /* 填充表格数据 */
  for (let row of rows) {
    let cells = row.getTableCells();
    for (let cell of cells) {
      let p = cell.getParagraphs().get(0);
      let r = p.createRun();
      r.setText("单元格内容");
    }
  }

  /* 将文档写入文件 */
  let out = new java.io.FileOutputStream(files.path(FilePath));
  document.write(out);
  out.close();
}

读取docx文档

var FilePath = "/sdcard/cloud/download/文档.docx";
/* 调用函数readWordFile读取docx文档内容 */
readWordFile(FilePath);

/*读取docx文档
参数FilePath:文件路径
*/
function readWordFile(FilePath) {
  let fis = new java.io.FileInputStream(files.path(FilePath));
  let document = new org.apache.poi.xwpf.usermodel.XWPFDocument(fis);

  /* 获取段落列表 */
  let paragraphs = document.getParagraphs();
  for (let paragraph of paragraphs) {
    let text = paragraph.getText();
    console.log(text);
  }

  /* 获取表格列表 */
  let tables = document.getTables();
  for (let table of tables) {
    /* 遍历表格的行和单元格 */
    let rows = table.getRows();
    for (let row of rows) {
      let cells = row.getTableCells();
      for (let cell of cells) {
        let text = cell.getText();
        console.log(text);
      }
    }
  }

  fis.close();
}

运行调试

js创建docx文档和读取docx文档

小结

更多操作查看Apache POI的api文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值