位置: IT常识 - 正文

Java导出带格式的Excel数据到Word表格(java如何导出)

编辑:rootadmin
在Word中创建报告时,我们经常会遇到这样的情况:我们需要将数据从Excel中复制和粘贴到Word中,这样读者就可以直接在Word中浏览数据,而不用打开Excel文档 ... 前言

推荐整理分享Java导出带格式的Excel数据到Word表格(java如何导出),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:java文件导出功能,导出javadoc,java导出数据到word,java中导出到excel是怎么实现的,java中导出到excel是怎么实现的,java导出excel设置单元格格式,java导出excel设置单元格格式,java文件导出功能,内容如对您有帮助,希望把文章链接给更多的朋友!

在Word中创建报告时,我们经常会遇到这样的情况:我们需要将数据从Excel中复制和粘贴到Word中,这样读者就可以直接在Word中浏览数据,而不用打开Excel文档。在本文中,您将学习如何使用Spire.Office for Java将Excel数据转换为Word表格并保留格式。

程序环境安装Spire.Office for JavaJava导出带格式的Excel数据到Word表格(java如何导出)

首先,你需要在你的Java程序中添加Spire.Office.jar文件作为一个依赖项。该JAR文件可以从这个链接下载。如果你使用Maven,你可以通过在项目的pom.xml文件中添加以下代码,在你的应用程序中轻松导入该JAR文件。

点击查看代码<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url> https://repo.e-iceblue.cn/repository/maven-public/</url> </repository></repositories><dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.office</artifactId> <version>7.9.6</version> </dependency></dependencies>

小tips:请注意版本号的变化

将带格式的Excel数据导出到Word表格步骤

创建一个Workbook对象,并使用Workbook.loadFromFile()方法加载一个Excel样本文件。•使用Workbook.getWorksheets().get()方法获取一个特定的工作表。•创建一个Document对象,并向其添加一个章节。•使用Section.addTable()方法添加一个表格。•检测工作表中的合并单元格,并使用自定义方法mergeCells()合并Word tale中的相应单元格。•使用CellRange.getValue() 方法获取特定Excel单元格的值,并使用TableCell.addParagraph().appendText()方法将其添加到Word表中的一个单元格。•使用自定义方法copyStyle()将字体样式和单元格样式从Excel复制到Word表格中。•使用Document.saveToFile()方法将文档保存到Word文件中。

代码示例点击查看代码import com.spire.doc.*;import com.spire.doc.FileFormat;import com.spire.doc.documents.HorizontalAlignment;import com.spire.doc.documents.PageOrientation;import com.spire.doc.documents.VerticalAlignment;import com.spire.doc.fields.TextRange;import com.spire.xls.*;public class ExportExcelToWord { public static void main(String[] args) { //下载一个Excel文件 Workbook workbook = new Workbook(); workbook.loadFromFile("C:/Users/Administrator/Desktop/sample.xlsx"); //得到第一张工作表 Worksheet sheet = workbook.getWorksheets().get(0); //创建一个Word文档 Document doc = new Document(); Section section = doc.addSection(); section.getPageSetup().setOrientation(PageOrientation.Landscape); //添加一个表格 Table table = section.addTable(true); table.resetCells(sheet.getLastRow(), sheet.getLastColumn()); //合并单元格 mergeCells(sheet, table); for (int r = 1; r <= sheet.getLastRow(); r++) { //设置行高 table.getRows().get(r - 1).setHeight((float) sheet.getRowHeight(r)); for (int c = 1; c <= sheet.getLastColumn(); c++) { CellRange xCell = sheet.getCellRange(r, c); TableCell wCell = table.get(r - 1, c - 1); //获得特定Excel单元格的值并将其添加到Word表格单元格 TextRange textRange = wCell.addParagraph().appendText(xCell.getValue()); // 从Excel复制字体和单元格样式到Word copyStyle(textRange, xCell, wCell); } } //Save the document to a Word file保存文档为Word文件 doc.saveToFile("ExportToWord.docx", FileFormat.Docx); } //如果有合并的区域,则合并单元格 private static void mergeCells(Worksheet sheet, Table table) { if (sheet.hasMergedCells()) { //从Excel中获取合并的单元格范围 CellRange[] ranges = sheet.getMergedCells(); for (int i = 0; i < ranges.length; i++) { int startRow = ranges[i].getRow(); int startColumn = ranges[i].getColumn(); int rowCount = ranges[i].getRowCount(); int columnCount = ranges[i].getColumnCount(); //合并Word表格中的对应单元格 if (rowCount > 1 && columnCount > 1) { for (int j = startRow; j <= startRow + rowCount ; j++) { table.applyHorizontalMerge(j - 1, startColumn - 1, startColumn - 1 + columnCount - 1); } table.applyVerticalMerge(startColumn - 1, startRow - 1, startRow - 1 + rowCount - 1 ); } if (rowCount > 1 && columnCount == 1 ) { table.applyVerticalMerge(startColumn - 1, startRow - 1, startRow - 1 + rowCount - 1); } if (columnCount > 1 && rowCount == 1 ) { table.applyHorizontalMerge(startRow - 1, startColumn - 1, startColumn - 1 + columnCount-1); } } } } //复制Excel单元格样式到Word表格 private static void copyStyle(TextRange wTextRange, CellRange xCell, TableCell wCell) { //复制字体样式 wTextRange.getCharacterFormat().setTextColor(xCell.getStyle().getFont().getColor()); wTextRange.getCharacterFormat().setFontSize((float) xCell.getStyle().getFont().getSize()); wTextRange.getCharacterFormat().setFontName(xCell.getStyle().getFont().getFontName()); wTextRange.getCharacterFormat().setBold(xCell.getStyle().getFont().isBold()); wTextRange.getCharacterFormat().setItalic(xCell.getStyle().getFont().isItalic()); //复制背景色 wCell.getCellFormat().setBackColor(xCell.getStyle().getColor()); //复制水平对齐方式 switch (xCell.getHorizontalAlignment()) { case Left: wTextRange.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Left); break; case Center: wTextRange.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); break; case Right: wTextRange.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Right); break; } //复制垂直对齐方式 switch (xCell.getVerticalAlignment()) { case Bottom: wCell.getCellFormat().setVerticalAlignment(VerticalAlignment.Bottom); break; case Center: wCell.getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); break; case Top: wCell.getCellFormat().setVerticalAlignment(VerticalAlignment.Top); break; } }}效果图

---THE END---

本文链接地址:https://www.jiuchutong.com/zhishi/310756.html 转载请保留说明!

上一篇:java线程执行的两种情况(java线程的执行体)

下一篇:Simple Slug Translate 把WordPress固定链接自动翻译成英文

  • 企业所得税减免所得税额计算公式
  • 增值税核算应设置什么
  • 利润表中的资产减值损失包括哪些
  • 公司自用车辆出售如何交税
  • 企业收到的政府补贴交所得税吗
  • 股东出资方式和比例是否合法?并说明理由
  • 外币资产汇兑损益计算
  • 发放外单位人员奖金 个人所得税
  • 溢价发行股票的账务处理
  • 服务费公司的账务处理
  • 个体户生产经营所得税税率表
  • 装卸费可以抵扣销项税额吗
  • 向关联企业支付管理费用可以税前扣除吗
  • 电子发票记账联怎么入账
  • 账面价值和账面成本的区别
  • wind10激活密钥
  • 更换营业执照要多久才能拿到
  • qt5core.dll丢失解决方法
  • win 7怎么办
  • 冲暂估成本会计分录怎么做
  • 税盘的服务费
  • 企业支付个人劳务费需要发票吗
  • 苹果电脑设置壁纸为什么重启就没了
  • 支付费用没有发票怎么做账务处理
  • saimon.exe - saimon进程有什么用 有何作用
  • 猫鼬家族风云
  • 漏洞 标准
  • webssh github
  • 位于Praprotno村之上的圣托马斯教堂 (© Guy Edwardes/Minden Pictures)
  • php常见的错误级别
  • 待处理财产损益借贷方向
  • php数据统计分析
  • php封装数据库连接
  • 铡刀演示
  • vue预览word加水印
  • 订单超时十分钟
  • 企业确认坏账损失领导如何回复
  • 简易注销公示后怎么操作
  • 非货币性资产交换和债务重组的区别
  • 水利建设专项收入的税率是多少?
  • 边际贡献分析法案例
  • 多计提的增值税怎么冲减
  • 个人所得税工资薪金包括哪些内容
  • 企业会计准则在建工程转固定资产
  • 纳税人有
  • 资金过账属于洗钱吗
  • 固定资产以前年度多计提怎么办
  • 筹建期的收入要交企业所得税吗
  • 捐赠支出的账务处理
  • 承兑汇票多付退税怎么算
  • 业务招待费的扣除标准60%什么意思
  • 公司库存现金提现流程
  • 企业注销时应收帐款如何处理
  • 收付转三种凭证的限制类型不同所以限制科目也不同
  • 工程上第三方代表啥意思
  • 进项票取得晚了怎么抵扣
  • 营业外支出明细科目有哪些
  • 建立mysql
  • 怎样从sql数据库取数据
  • 国内的windows是正版吗
  • 怎么用U盘装系统
  • win10如何配置
  • 电脑键盘上f1到f12快捷键的功能分别是
  • win10系统关闭防火墙服务
  • centos7.0安装网卡驱动
  • linux eval命令
  • 系统导航栏已禁用怎么办
  • win10输入法怎么添加美式键盘
  • javascript教程推荐知乎
  • nodejs项目开发
  • veth pair源码
  • Default style sheet for HTML 4
  • editplus怎么配置java
  • Node.js中的construct构造函数
  • 基于python语言的项目
  • 汽车运输发票税率是多少
  • 增值税纳税申报表怎么填
  • 中心组学习的意义?
  • 进项税发票过期了怎么办
  • 营业执照增加项目怎么办理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设