首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Apache POI将工作簿的日期系统设置为1904

Apache POI 是一个用于读取和写入 Microsoft Office 格式文件(如 Excel、Word 和 PowerPoint)的 Java 库。它提供了丰富的 API,可以操作和修改这些文件。

当使用 Apache POI 将工作簿的日期系统设置为 1904 年时,意味着 Excel 工作簿中的日期将以 1904 年作为基准。Excel 在默认情况下使用 1900 年作为基准,但为了解决一些历史上的问题,Excel 也提供了以 1904 年作为基准的选项。

这个设置的主要作用是影响 Excel 中日期的显示和计算。在以 1900 年为基准的情况下,Excel 认为 1900 年是闰年,但实际上 1900 年不是闰年。这导致了一些计算和显示上的问题。因此,一些特定行业或需求要求使用以 1904 年为基准的日期系统。

推荐使用 Apache POI 的 HSSF(Horrible Spreadsheet Format)工具类来设置日期系统。以下是使用 Apache POI 设置工作簿日期系统为 1904 年的示例代码:

代码语言:txt
复制
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;

public class ExcelDateSystemExample {
    public static void main(String[] args) {
        Workbook workbook = new HSSFWorkbook();
        workbook.getCreationHelper().createFormulaEvaluator().setIgnoreMissingWorkbooks(true);
        workbook.getCreationHelper().createFormulaEvaluator().setUse1904windowing(true);

        // 其他操作,如创建和修改工作表、单元格等

        // 保存工作簿
        try {
            FileOutputStream outputStream = new FileOutputStream("path/to/workbook.xls");
            workbook.write(outputStream);
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,通过创建 HSSFWorkbook 对象来表示工作簿,然后使用 getCreationHelper().createFormulaEvaluator() 方法获取公式计算器,并通过 setUse1904windowing(true) 方法设置日期系统为 1904 年。

推荐的腾讯云相关产品是腾讯云对象存储(COS),它提供了强大的存储和数据处理功能,适合存储和管理大量的文件和数据。您可以使用腾讯云 COS 存储 Apache POI 处理后的 Excel 文件,并通过腾讯云的 CDN 加速功能提供快速访问。

腾讯云对象存储(COS)产品介绍链接地址:https://cloud.tencent.com/product/cos

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

POI操作Excel入门案例(Spring boot)

一、简介 Apache POI是Apache软件基金会的免费开源的跨平台的 Java API,POI提供API给Java程序对Microsoft Office格式(Excel、WORD、PowerPoint...三、常用的方法 1、HSSFWorkbook :工作簿,代表一个excel的整个文档 HSSFWorkbook():创建一个新的工作簿 HSSFWorkbook(InputStream inputStream...):创建一个关联输入流的工作簿,可以将一个excel文件封装成工作簿 HSSFSheet createSheet(String sheetname):创建一个新的Sheet HSSFSheet getSheet...(A1,C1)"、日期函数、字符串相关函数、CountIf和SumIf函数、随机数函数等 5、HSSFCellStyle :单元格样式 setFont(Font font):为单元格设置字体样式...:Sheet的头部 HSSFFooter:Sheet的尾部 HSSFDateUtil:日期工具 HSSFPrintSetup:打印设置 HSSFErrorConstants:错误信息表 四、使用案例

55410
  • Java 基于Apache POI实现Excel读写操作

    POI创建工作簿的API有3种: HSSFWorkbook: 此API用于操作Excel 2003及之前的版本(文件扩展名.xls),优点是导出速度快,缺点是导出的行数有局限性,最多为65535行,...超出65536条后系统就会报错。...SXSSFWorkbook:POI3.8开始,新增此API,是 XSSFWorkbook API的兼容流式扩展,主要解决当使用 XSSFWorkbook 方式导出大数据量时,内存溢出的问题,支持导出大量的数据...以XSSFWorkbook API为例,可以通过多种方式来创建工作簿,常见用法如下: //获取文件流 FileInputStream inputStream = new FileInputStream(...FORMULA(2), // 公式,即单元格内容通过公式计算出来 BLANK(3), // 为空//什么时候会存储空值,取决于所使用的表格软件 BOOLEAN(4), ERROR

    71550

    Excel表格的写入读取

    我们要知道一个Excel文件(工作簿)包含三部分,分别是工作表(sheet),行(row),列(cell) 工作簿 工作簿对应的类是 XSSFWorkbook(2007之后),在2007之前对应的类是...) 创建一个工作簿,用于读取文件 常用的方法 XSSFFont createFont() 返回一个XSSFont类的对象,主要用于设置字体用的 XSSFSheet createSheet(...创建一个单元格风格类的一个对象,便于设置单元格的属性 write(OutputStream out) 用于将文件写入到文件中 close() setSheetName(int sheetIx,String...name) 为指定索引的工作表设置名称 XSSFSheet getSheetAt(int index) 获取指定索引的工作表对象,这个是用来读取文件的时候用的 例子 读取文件的例子 File...(out); //写入到指定的文件 book.close(); // 关闭 out.close(); 工作表(sheet) 工作表对应的类为XSSFSheet,2007之前对应的是HSSFSheet

    1.4K20

    Apache POI使用详解

    POI为“Poor Obfuscation Implementation”的首字母缩写,意为“可怜的模糊实现”。...由于apache poi 在项目中用的比较多,本篇博客只讲解apache poi,不讲jxl 二:Apache POI常用的类 HSSF - 提供读写Microsoft Excel XLS格式档案的功能...常用的类和方法 HSSFWorkbook :工作簿,代表一个excel的整个文档 HSSFWorkbook(); // 创建一个新的工作簿 HSSFWorkbook(InputStream inputStream...); // 创建一个关联输入流的工作簿,可以将一个excel文件封装成工作簿 HSSFSheet createSheet(String sheetname); 创建一个新的Sheet HSSFSheet...,如求和”sum(A1,C1)”、日期函数、字符串相关函数、CountIf和SumIf函数、随机数函数等 HSSFCellStyle :单元格样式 setFont(Font font); 为单元格设置字体样式

    4.8K10

    Apache POI与easyExcel:Excel文件导入导出的技术深度分析

    } } 请注意,getCellValue方法使用DataFormatter类来确保无论单元格包含何种类型的数据(如数字、日期或文本),都能以合适的格式返回其字符串表示形式。...1.2 poi实现写入excel 当使用Apache POI写入.xlsx格式的Excel文件时,您需要创建一个XSSFWorkbook对象来表示整个工作簿,然后在其中创建XSSFSheet对象来表示工作表...接下来,您可以在工作表中创建行和单元格,并设置它们的值。最后,将工作簿写入到文件系统中。...EasyExcel 是在在POI的解析引擎基础上改进的,但并没有完全重写 Apache POI 的整个解析引擎,特别是对于 XLSX 文件格式(即 Excel 2007 及以上版本所使用的格式,POI...模型映射:通过注解和反射机制,EasyExcel 可以将 Excel 数据行直接映射为 Java 对象,简化了数据转换的过程。

    1.5K20

    一小时教你轻松学会使用Java 整合 Easy Excel 操作 Excel 文件

    文章目录 一、Apache POI简介 二、POI操作Excel 构建maven项目导入依赖 使用POI实现基本写操作 使用POI实现大数据量写操作 使用POI实现基本读操作 使用POI读取不同类型的数据...一、Apache POI简介 Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能...POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。...Apache POI官网:https://poi.apache.org/ 基本功能: HSSF:提供读写Microsoft Excel格式文档的功能。...他能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能。EasyExcel基于POI进行封装优化,降低内存使用,再大的excel也不会出现内存溢出,让使用更加简单方便。

    1.5K30

    【在线教育】POI入门

    xls 文件读操作 3.2.5 xlsx 文件读操作 3.2.6 读取不同类型的数据 3.POI入门(了解) 3.1 POI 概述 3.1.1 简介 Apache POI是Apache软件基金会的开放源码函式库...:一个excel文件,就是一个工作簿 工作表:一个工作簿中,可以所有多个工作表Sheet 行:每一个工作表,包含多行row 单元格:每行有多个单元格Cell组成。...工作簿        Workbook workbook = new HSSFWorkbook(); ​        // 在Excel工作簿中建一工作表,其名为缺省值 Sheet0        ...//Sheet sheet = workbook.createSheet(); ​        // 如要新建一名为"信息统计"的工作表,其语句为:        Sheet sheet = workbook.createSheet...//Sheet sheet = workbook.createSheet(); ​        // 如要新建一名为"信息统计"的工作表,其语句为:        Sheet sheet = workbook.createSheet

    1.4K30

    使用 Apache POI 读写 Excel 文件:Java 实战与深入解析

    本文将深入介绍如何使用 Apache POI 框架来读写 Excel 文件,结合丰富的实例演示如何操作 Excel 数据。...下面我们以 .xlsx 文件为例,演示如何逐行读取 Excel 文件中的内容。示例:读取 Excel 文件中的内容import org.apache.poi.ss.usermodel....使用 createSheet() 方法创建了一个工作表,并通过 createRow() 和 createCell() 方法在表格中写入数据。最后,将生成的 Excel 文件写入本地磁盘。...单元格格式化通过 POI,您可以对 Excel 文件中的单元格进行格式化。例如,设置数字格式、日期格式,或对单元格进行样式处理。...报表生成:在企业应用中,可以使用 POI 自动生成业务报表并导出 Excel 文件。数据分析工具:使用 POI 将分析结果写入 Excel 文件,并对数据进行可视化展示。

    27121

    史上最全excel导入导出技能盘点

    #简介 poi使用userModel模式,这个模式的特点就是上手很容易。代码写起来很复杂。而且公用的地方很少。导致每次读写excel都需要重新编写。...、 csv 、  poi 、  easypoi 、  jxlsPOIPOI是apache的一个开源项目。...WriteHandler : 用来控制单元格输出,包括样式和数据格式设置ExcelWriter : 用于导出excel#notes系统时间1900 windowing 1900年日期系统 1904 windowing...1904年日期系统 Excel for windows 使用1900 Excel2008 for mac 和之前版本 1904 excel 2016 for mac ; excel for mac 2011...,主要功能就是将读取到的当前行数据转换成实体或者map##writeFileUtils.createPoiFilesDirectory(); 在初始化时创建临时缓存目录以避免POI并发写入错误我正在参与

    31510
    领券