具有最大行数的 Java JXL 异常

2024-05-04

我正在从我的向量创建一个 Excel 工作表,其中有 127923 条记录,当我尝试输入记录时,我收到以下异常。

jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a worksheet been exceeded
    at jxl.write.biff.WritableSheetImpl.getRowRecord(WritableSheetImpl.java:1214)
    at jxl.write.biff.WritableSheetImpl.addCell(WritableSheetImpl.java:1151)
    at com.ibm.database.excel.WriteExcel.addLabel(WriteExcel.java:176)
    at com.ibm.database.excel.WriteExcel.write(WriteExcel.java:76)
    at com.ibm.database.excel.FileGenerator.generateExcel(FileGenerator.java:13)
    at com.ibm.database.taxoreader.TaxonomyReader.main(TaxonomyReader.java:46)

我知道,因为 Excel 工作表不允许超过 65536 条记录,但我的代码每次达到 60000 标记时都尝试创建一个新工作表,但它不起作用。任何人都可以建议我我做错了什么吗?这是我的代码。

public void write (Vector list) throws IOException, WriteException{
    int k=0,row=0,column=0;
    WritableFont times10pt = new WritableFont(WritableFont.TIMES, 10);
    // Define the cell format
    times = new WritableCellFormat(times10pt);
    // Lets automatically wrap the cells
    times.setWrap(true);
    TaxonomyBean bean= null;
    File file = new File("Test.xls");
    WorkbookSettings wbSettings = new WorkbookSettings();
    wbSettings.setLocale(new Locale("en", "EN"));
    WritableWorkbook workbook = Workbook.createWorkbook(file, wbSettings);  
    WritableSheet sheet= workbook.createSheet(""+k,k);
    for(int i=0,j=0;i<list.size();i++,j++){
        if(j==60000){
         k=k+1;
         workbook.createSheet(""+k, k);
         j=0;
        }
        sheet = workbook.getSheet(k);
        bean=(TaxonomyBean)list.elementAt(i);
        column=0;row=i;
        System.out.println("adding "+bean.getDescription()+" at "+j+" in "+k+" and i "+i);
        addLabel(sheet, column, row, bean.getDescription());
        column++;
        addLabel(sheet, column, row, bean.getTaxonomyDescription());
    }
    workbook.write();
    workbook.close();

}

您可以将循环代码替换为:

for(int i = 0;i < list.size();i++)
{
    if(i % 60000 == 0)
    {
        k++;
        workbook.createSheet("" + k,k);
    }

    sheet = workbook.getSheet(k);
    bean = (TaxonomyBean)list.elementAt(i);

    column = 0;
    row = i % 60000;

    addLabel(sheet, column, row, bean.getDescription());
    column++;
    addLabel(sheet, column, row, bean.getTaxonomyDescription());
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有最大行数的 Java JXL 异常 的相关文章

随机推荐

  • 在单个测试中断言多个条件,还是分成多个测试? [复制]

    这个问题在这里已经有答案了 如果您正在测试如下所示的计数函数 那么在一个函数中测试该函数的多项内容与为每个测试使用一个测试函数相比 是否被认为是 正确 或 错误 function testGetKeywordCount tester thi
  • LINQ 分组依据和选择集合

    我有这个结构 Customer has many Orders has many OrderItems 我想生成一个列表CustomerItems通过 LINQ 给出的子集OrderItems List of new Customer Li
  • 如何使用 jq 对可能不存在的数组进行排序?

    给定以下 JSON alice items foo bar bob items bar foo charlie items foo bar 我可以排序items数组如下 jq lt users json map items sort ite
  • 在 mongodb shell 中打印文档值

    我想在 mongo shell 中打印此 JSON 文档的值 就像简单的控制台输出一样 无需创建新的集合或文档 提前致谢 我找到了一个解决方案 通过使用 forEach 应用 JavaScript 方法 db widget find id
  • 如何使用 nosql 构建成就和徽章

    我目前有一个使用 mongodb 作为数据库的社交游戏应用程序 我的问题是 如果我想创建一个积分和徽章系统 有哪些建议 成就 徽章的业务逻辑可能会变得非常复杂并且非常临时 因此实时授予徽章似乎效率不高 我想象将跟踪的操作添加到队列中的某处
  • Django 项目层次结构/组织

    我是 Django 新手 正在开始一个项目 我想以正确的方式来做 我想知道您认为组织项目的最佳实践是什么 我有一些问题 如何将静态资源与Python代码分离 这样我就不会浪费时间通过Django处理静态内容 由于应用程序是可重用的模块 因此
  • PHP - 如何查看服务器是否支持 TLS 1.0?

    我正在编写一个简单的检查器 您可以在其中输入一个 URL 该检查器将检查输入的 URL 是否使用 TLS 1 0 1 1 或 1 2 本质上 我想显示一条消息 Yoursite com 正在使用 TLS 1 0 建议禁用此功能 问题是 只有
  • 为什么Delphi打开时间越长编译速度就越慢,我该怎么办?

    我的公司十多年来一直在德尔福上运行一个大型项目 我们的代码库多年来一直在增长 目前代码数量约为 400 万行 编译速度正在成为一个问题 我们花了时间清除单元循环引用 编译缓慢的已知原因 并检查了设置的各个方面 已经到了我们无法通过我们所能控
  • React 路由器重定向页面但组件未渲染

    我在路由更改时渲染组件时遇到一个奇怪的问题 我使用的版本 react 16 9 0 react dom 16 9 0 react router dom 5 1 0 这是我的路线配置 const Routes gt const isLogge
  • SQL Server T-SQL 中的 REGEXP_LIKE 转换

    我在一份需要转换为 SQL Server 的旧报告中遇到了这一行 REGEXP LIKE examCodes learner code examCodes 是源 learner code 是模式 我知道 SQL Server 没有 REGE
  • number_in_month 练习(计算列表中的元素数)

    我一直在尝试使用 SML 对整数 3 元组列表中的元素进行计数 该列表等于给定的整数 但它不起作用 谁能帮我找出下面的代码有什么问题或者为我纠正它 fun number in month x int int int list m int i
  • EF6 + Postgres 关系 dbo.AspNetUsers 不存在

    我一直在关注这篇关于使用 PostgreSQL 和 EF6 的文章http www jasoncavet com blog postgresql and entity framework 6 code first http www jaso
  • npm 安装失败并显示“子集不是函数”

    I have node v15 14 0 and npm 7 8 0 on Arch Linux x86 64 从该发行版的存储库安装 在空目录中启动项目npm init然后尝试安装一些东西npm i
  • 使用 Entity Framework Code Only 和 ASP.NET MVC 的模块化应用程序

    我所说的模块化应用程序是指无需修改核心应用程序代码即可扩展基本功能和数据模型的应用程序 这是一种流行的方法 例如 开源 CRM 例如 SugarCRM 或 VTiger 在使用区域或 来自 MVC contrib 的可移植区域 的 ASP
  • 在多个 html 文件上运行 javascript

    我有一个包含 1000 个 html 文件的文件夹 我必须使用 xpath 从每个 html 中删除某些节点 所以我已经制作了javascript 我无法打开每个文件并通过 Firefox 控制台运行 javascript 我用的是linu
  • 使用 python mechanize 库登录 https 站点

    我有以下代码 import requests import sys import urllib2 import re import mechanize import cookielib import json import imp prin
  • 在 JavaScript 中,将 NodeList 转换为数组的最佳方法是什么?

    DOM 方法document querySelectorAll 和其他一些 返回一个NodeList 对列表进行操作 例如使用forEach the NodeList必须首先转换为Array 转换的最佳方式是什么NodeList to an
  • HTTP 错误 500.35 - ANCM 同一进程中的多个进程内应用程序 ASP.NET Core 3

    从今天早上开始 没有对项目代码进行任何更改 一个非常简单的 Web API 一个控制器和 3 个方法 使用 Swagger 它不再启动 我收到错误 HTTP 错误 500 35 ANCM 同一进程中有多个进程内应用程序 事件查看器报告最无用
  • c++ string::size 中的 CharT 元素是什么?

    From http en cppreference com w cpp string basic string size http en cppreference com w cpp string basic string size 的数量
  • 具有最大行数的 Java JXL 异常

    我正在从我的向量创建一个 Excel 工作表 其中有 127923 条记录 当我尝试输入记录时 我收到以下异常 jxl write biff RowsExceededException The maximum number of rows