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

  • 中国联通叠加套餐包怎么取消(中国联通叠加套餐)

    中国联通叠加套餐包怎么取消(中国联通叠加套餐)

  • 苹果手机人像模式背景怎么虚化(苹果手机人像模式怎么降低曝光)

    苹果手机人像模式背景怎么虚化(苹果手机人像模式怎么降低曝光)

  • vivo怎么退出origin主屏(VIVO怎么退出简易模式)

    vivo怎么退出origin主屏(VIVO怎么退出简易模式)

  • 快手怎么设置联系电话(快手怎么设置联系我们导航到店)

    快手怎么设置联系电话(快手怎么设置联系我们导航到店)

  • xsmax支持多少w无线充(xs max支持多少w)

    xsmax支持多少w无线充(xs max支持多少w)

  • 苹果8支持快速充电吗(苹果8手机支持快速充电吗)

    苹果8支持快速充电吗(苹果8手机支持快速充电吗)

  • 华为手机微信能上锁吗(华为手机微信能刷脸支付吗)

    华为手机微信能上锁吗(华为手机微信能刷脸支付吗)

  • wifi信号强度标准dbm(wi-fi信号强度)

    wifi信号强度标准dbm(wi-fi信号强度)

  • excel2016图表类型有几种(excel图表类型的值怎么设置)

    excel2016图表类型有几种(excel图表类型的值怎么设置)

  • 华为nova7pro可以插耳机吗(华为nova7pro可以手势控制么)

    华为nova7pro可以插耳机吗(华为nova7pro可以手势控制么)

  • qq举报人别人会收到什么(qq举报人别人会看到吗)

    qq举报人别人会收到什么(qq举报人别人会看到吗)

  • 红米note5支持18w快充吗(红米note5支持5g网络吗)

    红米note5支持18w快充吗(红米note5支持5g网络吗)

  • 手机qq如何关掉特别关心提示音(手机qq如何关掉安全扫描)

    手机qq如何关掉特别关心提示音(手机qq如何关掉安全扫描)

  • 苹果蓝牙耳机设置在哪(苹果蓝牙耳机设备名称)

    苹果蓝牙耳机设置在哪(苹果蓝牙耳机设备名称)

  • 苹果11没有指纹怎么支付(苹果11没有指纹功能吗)

    苹果11没有指纹怎么支付(苹果11没有指纹功能吗)

  • 淘宝违规行为分为那两种(淘宝违规行为分为一般和严重两类)

    淘宝违规行为分为那两种(淘宝违规行为分为一般和严重两类)

  • 魅族16s有红外遥控吗(魅族16s红外线遥控)

    魅族16s有红外遥控吗(魅族16s红外线遥控)

  • 抖音评论表情哪来的(抖音里评论表情包在哪)

    抖音评论表情哪来的(抖音里评论表情包在哪)

  • tv十os是什么系统(tv os)

    tv十os是什么系统(tv os)

  • 创建还原点该输入什么(创建还原点后如何还原)

    创建还原点该输入什么(创建还原点后如何还原)

  • 不让看朋友圈显示什么(不让看朋友圈显示什么样子)

    不让看朋友圈显示什么(不让看朋友圈显示什么样子)

  • 聚美优品如何退款(聚美优品如何注销账户)

    聚美优品如何退款(聚美优品如何注销账户)

  • Linux下如何查看16进制文件?(linux查看du)

    Linux下如何查看16进制文件?(linux查看du)

  • 最薄的MP3是什么(mp3格式最高音质)

    最薄的MP3是什么(mp3格式最高音质)

  • 如何部署一个自己的AI绘图(怎样部署)

    如何部署一个自己的AI绘图(怎样部署)

  • 收到汇算清缴退回企业所得税分录
  • 企业产生的所得税计入
  • 二手车经纪公司和中介的区别
  • 公司房屋修缮账务流程
  • 建筑业的账务处理
  • 固定资产未付款怎么入账
  • 新成立公司交税
  • 银行承兑汇票 托收
  • 发票丢失说明怎么填写
  • 购买资产佣金应该怎么算
  • 出口货物不用退税吗现在
  • 注销公司方便吗
  • 房地产活动礼品送什么比较吸引人
  • 合作开发项目收益怎么算
  • 购买的车位应如果要进行税务处理需注意什么?
  • 个人所得税手续费奖励办税人员文件
  • 小规模纳税人差额征税
  • 小规模不动产租赁税率是否减按1%
  • 写字楼空置房物业费70%的规定
  • 卷烟批发环节消费税计算
  • 开业庆典礼仪费计入什么科目?
  • 个体户生产经营所得怎么报税
  • 收回代付费用用什么科目
  • 私募股权投资
  • 所得税税前扣除税金有哪些
  • 非流动负债怎么巧记
  • 销售净利率如何分析出来
  • 股东之间转让股权需要股东会决议吗
  • 现在windows11
  • vue打开窗口
  • win7开机拨号取消
  • 权益法投资收益在年末确认
  • regsrv.exe - regsrv是什么进程 有什么用
  • PHP:pcntl_wifexited()的用法_PCNTL函数
  • php ladp
  • 小规模纳税人超标认定一般纳税人
  • vue的foreach循环
  • win11显卡驱动不兼容
  • 怎样利用 getnext 命令检索未知对象?
  • 收回多发的工资在上缴财政,可以用应缴财政款科目吗
  • 现金流量表的编制方法和计算公式
  • 食堂洗碗机操作规程
  • python 记录日志
  • 金蝶软件怎么录入发票号
  • 国债收入要交企业所得税吗
  • 代收的车船税没有发票怎么入账
  • 发票冲红重开摘要如何写合适?
  • 超市返利账务处理
  • 企业收到拆迁补偿款
  • 专利年费 缴纳
  • 疫情期间购买消毒弥雾机的请示
  • 小规模附加税要交吗
  • 协会会费怎么入账
  • 过账发票和不过票的区别
  • 盈余公积必须提折旧吗
  • sql server数据导入导出的特点
  • Mysql主库死锁了导致从库停止复制
  • xp复制粘贴功能失效
  • windows xp系
  • 扫清落叶堆怎么扫
  • 包含正在使用的windows版本 无法格式化
  • linux 中find
  • winxp升级win7教程图文
  • hpg是什么软件打开
  • win7关闭右下角操作中心
  • window10里的ie浏览器
  • 触发器csdn
  • js秒数转时间
  • 安卓的通用在哪里
  • python获取文件内所有函数
  • 使用jquery实现的项目
  • jquery实现表格隔行换色
  • js面向对象写法
  • 股权转让申报期限
  • uk开票软件如何赋码
  • 江苏省国家税务局电子税务局官网
  • 如何查看税务登记记号
  • 姓名章加不加印字
  • 12366地税投诉
  • 企业税收筹划的基本目标
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设