excel - 如何使用 ColdFusion 创建一个 Excel 文件,该文件有一列我们可以按最大到最小排序,反之亦然?

标签 excel coldfusion apache-poi coldfusion-10

我们有一个报告,我们可以将其导出为 Excel 文件,因为我们有一个包含整数和“N/A”(字符串类型)的列,但是当我转到数据 >> 过滤器时,它让我可以选择从中排序第一行中的 A 到 Z 或 Z 到 A (因为我们有每个字符串类型的列的标题)。但在这里我想从最大到最小,反之亦然。
问题是在生产环境中,我们拥有与在开发环境中使用的代码相同的代码,但在生产环境中,我们可以按从大到小对其进行排序,但在开发环境中,它提供了仅按 A 到 Z 或 Z 到 A 排序的选项.
我可以在这里做什么来使开发环境与产品环境相同。我检查了整个代码,两者都为 excel 文件提供了相同的数据类型。

我尝试用空白“”替换“N/A”,然后我能够得到所需的结果(从最小到最大)。
我们正在使用 POI:Document utility(https://github.com/wiggick/POIUtility)
在 ColdFusion 中创建一个 excel 文件。
请提出一种在代码本身中执行此操作的方法,因为 excel 的用户不需要它从 excel 手动执行此操作。

最佳答案

在不了解更多信息的情况下,我怀疑这不是 CF 问题。当出现包含混合数据类型的列时,这只是 Excel 的正常行为。

与数据库表不同,Excel 允许将数字和字符串混合存储在同一列中。当您尝试对此类列进行排序时,Excel 必须通过扫描某些单元格值来“猜测”要呈现的排序选项类型。

  • 如果大多数值是数字,Excel 会提供数字排序选项:“从小到大”和“从大到小”
  • 当大多数值是字符串时,Excel 会提供文本排序选项:“A 到 Z”或“Z 到 A”

  • 我怀疑您所看到的是由 Prod 和 Dev 使用不同的数据来填充电子表格引起的。只要单元格中同时填充了字符串和数字,我认为您无法解决这个问题。

    一种可能的替代方法是在填充电子表格时仅使用数值,通过替换 0 ,对于“不适用”。然后申请 custom cell format that displays "N/A" whenever the cell value is "0" .只要值“0”尚未用于其他用途,这将起作用。

    混合数据类型列和生成的排序选项示例

    Screen shot of Mixed Data Type Columns and Generated Sort Options

    关于excel - 如何使用 ColdFusion 创建一个 Excel 文件,该文件有一列我们可以按最大到最小排序,反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56555285/

    相关文章:

    excel - 如何按月份名称过滤excel列?

    java - XSSFClientAnchor 的最大 dy 值

    java - 使用 API 将 Excel 列转换为 Java

    excel - VBA Selenium FindElementByXPath 找不到元素

    Excel 绘图工具或 VBA 解决方案

    mysql - 订购所有查询

    c# - 将内部数据元素映射到外部供应商的 XML 模式

    coldfusion - 目录列表被拒绝 :This Virtual Directory does not allow contents to be listed

    java - Apache poi 单元格格式编号

    excel - 确定文件是 zip 文件还是 .xlsx 文件