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

  • 小米手环4nfc没有微信提醒(小米手环4nfc没电了可以刷公交卡嘛)

    小米手环4nfc没有微信提醒(小米手环4nfc没电了可以刷公交卡嘛)

  • 键盘0变成斜杠(键盘按零出现斜杠)

    键盘0变成斜杠(键盘按零出现斜杠)

  • iphone11要不要剪卡

    iphone11要不要剪卡

  • 魅族手机插u盘没反应(魅族手机插u盘怎么打开)

    魅族手机插u盘没反应(魅族手机插u盘怎么打开)

  • roaming文件夹可以删除吗(电脑的roaming文件夹可以清理吗)

    roaming文件夹可以删除吗(电脑的roaming文件夹可以清理吗)

  • SMS是什么(sms是什么的缩写)

    SMS是什么(sms是什么的缩写)

  • 苹果手机怎么看抖音访客记录(苹果手机怎么看小电影)

    苹果手机怎么看抖音访客记录(苹果手机怎么看小电影)

  • 前几年的短信还能恢复么(几年前的短信怎么恢复)

    前几年的短信还能恢复么(几年前的短信怎么恢复)

  • 快手我的钱包在哪里(快手我的钱包在哪里看得到)

    快手我的钱包在哪里(快手我的钱包在哪里看得到)

  • 荣耀30pro可以贴钢化膜吗(荣耀30pro可以贴膜吗)

    荣耀30pro可以贴钢化膜吗(荣耀30pro可以贴膜吗)

  • windows7是一种什么软件(windows7是一种什么)

    windows7是一种什么软件(windows7是一种什么)

  • 勿扰模式有什么用(勿扰模式有什么特点)

    勿扰模式有什么用(勿扰模式有什么特点)

  • 微信不能用流量上网是什么问题(微信不能用流量上网,怎么设置)

    微信不能用流量上网是什么问题(微信不能用流量上网,怎么设置)

  • 苹果8plus支持volte吗(苹果8plus支持4k60帧吗)

    苹果8plus支持volte吗(苹果8plus支持4k60帧吗)

  • 苹果11的手机壳xr能用吗(苹果11的手机壳13能用吗)

    苹果11的手机壳xr能用吗(苹果11的手机壳13能用吗)

  • 华为怎么批量删除照片(华为怎么批量删除日历的提醒事项?)

    华为怎么批量删除照片(华为怎么批量删除日历的提醒事项?)

  • wps会员可以几个人用(wps会员可以几个人共用一个账号)

    wps会员可以几个人用(wps会员可以几个人共用一个账号)

  • 一加7怎么打开个人热点(一加7怎么打开语音助手)

    一加7怎么打开个人热点(一加7怎么打开语音助手)

  • sd卡受损怎么修复(sd卡受损怎么修复里面的东西)

    sd卡受损怎么修复(sd卡受损怎么修复里面的东西)

  • qq群怎么设置名片(qq群怎么设置名称号)

    qq群怎么设置名片(qq群怎么设置名称号)

  • 鲁通卡b卡如何充值(鲁通卡b卡如何手机充值)

    鲁通卡b卡如何充值(鲁通卡b卡如何手机充值)

  • 微信发原图有什么区别(微信发原图什么意思)

    微信发原图有什么区别(微信发原图什么意思)

  • sklearn安装后无法调用的问题(安装了sklearn调用却找不到)

    sklearn安装后无法调用的问题(安装了sklearn调用却找不到)

  • 关于 background-image 渐变gradient()那些事!(关于我和鬼变成家人的那件事)

    关于 background-image 渐变gradient()那些事!(关于我和鬼变成家人的那件事)

  • 小规模纳税人500万以内免税
  • 固定资产折旧方法年数总和法
  • 摊余成本的构成内容
  • 一般纳税人增值税可以抵扣吗
  • 个体户可以不开公户吗?打款到法人卡
  • 公司购买的货架入哪个科目
  • 零申报失败什么原因
  • 帮别人买交强险,受益人是我,有影响吗
  • 其他应收款科目未经财务会计部门和运行管理部门
  • 发现账实不符,第一件事就是要干嘛?
  • 企业所得税税率多少
  • 公司账外现金
  • 无形资产的摊销,可摊销的标准是什么?
  • 航天金穗服务费抵扣
  • 哪些可用商业汇票结算?
  • 机动车发票如何抵扣进项税
  • 每个行业都能赚钱吗
  • 未达起征点的个体户个人所得税
  • 会展服务服务费怎么是免税
  • 自然灾害造成的存货净损失计入什么科目
  • 银行端现金缴税凭证
  • 汇总表格怎么设置
  • 出口货物怎么开具发票
  • 鸿蒙3.0系统哪些手机可以升级
  • 现金比率计算公式含义
  • 外贸公司收汇可以收运费吗
  • 结转到生产成本的科目
  • 公司与个人的往来款怎么处理
  • 小规模纳税人购车是怎么抵税的
  • 发票抵扣条件
  • 简述项目融资风险的内容
  • php中自定义常量的函数是
  • 企业间合作建房且建成后自用
  • 除甲醛的净化器哪个品牌做得最好
  • 现金折扣的会计分录处理
  • 纳税人提供应税服务
  • 国有土地租赁合同规定多少年
  • php处理数据
  • 非常好看的头像
  • 无形资产的处置方式
  • node.js安装步骤
  • layui框架模板
  • 一般纳税人企业所得税税率2023
  • js数组entries
  • mongodb中的objectid
  • 生产企业免抵退红字冲减
  • 现金流量表现金净增加额负数
  • 个体工商户的免税证明
  • 营业成本包含哪些项目
  • 增值税税控系统专用设备
  • 购买土地缴纳契税会计分录
  • 工程物资主要包括建筑材料
  • 个人独资企业个税怎么交
  • 对公转账个人垫付怎么写
  • 原材料采购未入库会计分录
  • 个人开具发票需要税号吗?
  • 工业企业外购材料采购成本包括
  • mysql基本介绍
  • mysql数据库备份与恢复的常用方法有几种
  • XP系统提示QQprotect.exe损坏文件的解决方法图文教程
  • 怎么查看win7系统电脑访问了哪些应用程序
  • mac safari使用技巧
  • g++.exe error
  • win8应用商店在哪
  • 苹果电脑怎么关掉已经打开的页面
  • win7手动更新在哪里设置
  • 利用jQuery及AJAX技术定时更新GridView的某一列数据
  • 分享js粘帖屏幕怎么弄
  • python自动化验证码
  • python解译器
  • python遍历文件
  • javascript面向对象编程指南 pdf
  • python 解析算法
  • 代收代付税务条件
  • 分摊费用怎么计算公式
  • 房产税的解读
  • 河南省地税局副局长
  • 银行服务创新金点子
  • 安徽高考实行什么模式
  • 2021年河南医保
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设