位置: 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固定链接自动翻译成英文

  • ps如何复制平移多个一样的图形(ps如何复制平移一个线条)

    ps如何复制平移多个一样的图形(ps如何复制平移一个线条)

  • vivo手机怎么解除锁屏密码(vivo手机怎么解锁屏幕强制解除密码)

    vivo手机怎么解除锁屏密码(vivo手机怎么解锁屏幕强制解除密码)

  • 快手粉丝团怎么设置不公开(快手粉丝团怎么升级快)

    快手粉丝团怎么设置不公开(快手粉丝团怎么升级快)

  • 华为p40pro蓝牙支持aptx的吗(华为p40pro蓝牙支持什么编码)

    华为p40pro蓝牙支持aptx的吗(华为p40pro蓝牙支持什么编码)

  • iphonex型号mq开头的

    iphonex型号mq开头的

  • 爱奇艺骑士卡有什么用(爱奇艺骑士卡有什么优惠)

    爱奇艺骑士卡有什么用(爱奇艺骑士卡有什么优惠)

  • 华为手机怎么投屏到墙上(华为手机怎么投屏到投影仪)

    华为手机怎么投屏到墙上(华为手机怎么投屏到投影仪)

  • 酷睿8100y相当于什么处理器(英特尔酷睿8100y)

    酷睿8100y相当于什么处理器(英特尔酷睿8100y)

  • 苹果x控制中心下拉失灵(苹果x控制中心拉不出来是屏坏了吗)

    苹果x控制中心下拉失灵(苹果x控制中心拉不出来是屏坏了吗)

  • 三星s10安全模式怎么关闭(三星s10安全模式怎么解除)

    三星s10安全模式怎么关闭(三星s10安全模式怎么解除)

  • airpods微信语音对方听不到(airpods微信语音没声音)

    airpods微信语音对方听不到(airpods微信语音没声音)

  • 快手申请退款多久能到账(快手申请退款多长时间能退回)

    快手申请退款多久能到账(快手申请退款多长时间能退回)

  • 华为p30pro有5g功能吗(p30pro华为有5g吗)

    华为p30pro有5g功能吗(p30pro华为有5g吗)

  • word是不是应用软件(word属于哪一类应用软件)

    word是不是应用软件(word属于哪一类应用软件)

  • 开发模式怎么关闭(开发模式怎么关闭 小米)

    开发模式怎么关闭(开发模式怎么关闭 小米)

  • 华为bkl一al00什么型号(华为bkl_al00多少钱)

    华为bkl一al00什么型号(华为bkl_al00多少钱)

  • 抖音抢镜那个框怎么放大(抖音的抢镜)

    抖音抢镜那个框怎么放大(抖音的抢镜)

  • 新款iphone11双卡双待吗(苹果iphone11双卡)

    新款iphone11双卡双待吗(苹果iphone11双卡)

  • 全国智慧团建初始密码(全团智慧团建)

    全国智慧团建初始密码(全团智慧团建)

  • 支付宝能不能不刷脸支付 (支付宝能不能不用绑定银行卡)

    支付宝能不能不刷脸支付 (支付宝能不能不用绑定银行卡)

  • 苹果11怎么反向充电(苹果11怎么反向拍照)

    苹果11怎么反向充电(苹果11怎么反向拍照)

  • paamoo是什么手机(paamoo是什么型号)

    paamoo是什么手机(paamoo是什么型号)

  • 美图m6充电线是哪种(美图m6充电线是什么接口)

    美图m6充电线是哪种(美图m6充电线是什么接口)

  • 腾讯至尊宝怎么获得(腾讯至尊宝怎么没有了)

    腾讯至尊宝怎么获得(腾讯至尊宝怎么没有了)

  • 一加7pro是什么牌子(一加7Pro是什么手机)

    一加7pro是什么牌子(一加7Pro是什么手机)

  • 删除文件操作异常如何解决(删除文件时错误是怎么回事)

    删除文件操作异常如何解决(删除文件时错误是怎么回事)

  • 报税显示缺少组件怎么办
  • 亏损属于什么科目
  • 高新技术企业加计抵减
  • 当月购入固定资产计提折旧吗
  • 出差飞机票报销标准
  • 收购票怎么做会计分录
  • 赠送客户的产品计入销售费用的二级科目
  • 投资款返还案例
  • 自然人税收管理扣缴端申报实训心得
  • 生产企业购入材料怎么做分录
  • 企业所得税计税金额怎么算
  • 外购存货的成本不包括
  • 退预收账款需要什么原始凭证
  • 银行回单少了一笔
  • 收到假钱的会计分录
  • 收到子公司税后利润
  • 销售原材料收到商业承兑汇票会计分录
  • 外购电力费用分配例题
  • 营改增账务处理实例
  • 慈善机构捐赠
  • 异常增值税扣税凭证
  • 总公司与分公司的账务处理销售
  • 公司利润如何分配到个人
  • 会计当年是指哪一年
  • 出售原材料属于营业收入吗
  • 建筑施工企业在12个月内连续发生
  • 华为p60pro上市时间是几月
  • 用人单位逾期未缴纳社会保险费可能会使用的文书
  • 在建工程的二级明细的讲解
  • 财务线上线下是什么意思
  • “linux系统”
  • linux怎么自己写命令
  • 鸿蒙怎么设置默认系统
  • 股东以非货币出资办理什么手续
  • 纳税人转让不动产增值税征收管理暂行办
  • 保险业营改增
  • 马尼亚岛的降水特点
  • 金阁寺屋顶
  • 企业职工教育培训
  • 企业所得税是地税申报还是国税申报
  • siri怎么重置主人声音ios13
  • ghostnet改进
  • yolo训练参数
  • redis incr 高并发
  • 农民工专用账户回执单
  • PYTHON中使用什么符号表示单行注释
  • 农机融资租赁公司联系方式
  • 织梦怎么导入数据库
  • 租金收入如何分析
  • 直接人工费用属于产品成本吗
  • 国家税务总局金税四期
  • 专票认证之后怎么做账
  • 盘盈盘亏怎么看
  • 销货清单自己留哪一联
  • 微信收款会计分录怎么写
  • 新政府会计固定资产的核算与计量
  • 资产评估增值的调整方法
  • 子公司向子公司销售存货
  • 资产处置损益计入利润表哪个项目
  • 主营业务成本可以直接贷银行存款吗
  • 公司投资款怎么算
  • 删除sql server2008
  • 打印机取消打印在哪里
  • Windows Vista下IIS使用常见问题
  • win10rs2是哪个版本
  • win7禁用开机启动服务
  • linux系统的服务器有哪些
  • win8 metro启动界面
  • 不同系统电脑能共享吗
  • jquery 滑块
  • window.open()参数传递及获取
  • nodejs入门教程
  • 安卓关键词覆盖
  • 键盘搜索的快捷键
  • unity怎么添加ui界面图片
  • js中key
  • 比较常见的电子商务模式
  • js中遍历数组的方法
  • python3新增特性
  • jquery 插件写法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设