问题标签 [cfspreadsheet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
excel - 无法使用 ColdFusion 创建正确的 Excel 电子表格
我有一个客户要求从查询中生成 Excel 电子表格。我有查询踢出字段,我可以毫不费力地生成 Excel 文件。当客户端获取该 Excel 文件然后尝试对其进行操作时,就会出现问题。
大部分问题来自应标记为货币或日期的字段。我经过一番努力,能够生成一个“真实”的日期字段。在此 Excel 没有正确排序日期之前。我可以使用下面的代码调用 Excel 公式。DateValue
强制 Excel 将其确认为真实日期字段。但是,当通过 Excel 操作此文件时,此操作会失败。
下一个问题是货币领域。我无法让 Excel 承认这些值是一种货币。它总是出现自定义。设置此项后,该SUM
功能将无法在 Excel 中使用。您可以单独添加字段,例如A1+B1+C1 = TOTAL
. 但是,当有 200 行时,这将无济于事。
我能够从另一个有类似情况的 CF 程序员那里得到一个建议。他首先生成了带有正确标题的 Excel 文件,并将列设置为正确的字段,例如日期和货币等。
下一步是逐行填写字段,并且它们的格式应该正确。
代码:
单元格中的数据已正确格式化。生成此文件并将其流式传输给用户时,列未按预期格式化。
有没有人知道这种方法是否可行,或者有更好的建议让 CF 生成正确的日期和货币字段以供 Excel 确认?
在 RHEL 5 上运行的 Adobe ColdFusion v10。
每个请求这里是一些使用queryNe
w 的代码,它将生成代码日期和货币。
第一步:我创建了一个第一行冻结的 Excel 文件,它有列标题。第一列已被指定为日期,格式为长日期-mm/dd/yyy;第二列是设置为货币的美元。
我阅读了该文件,然后填写行并将文件流式传输给用户以供下载。
您可以在 MS Excel 或 Google 表格中打开该文件。测试一个,在第一行冻结的情况下,我们应该能够对日期字段进行排序。我的结果是:日期没有正确排序。在第 2 列的货币中,如果我们尝试做一个有效的 SUM!这以前没有用,但现在可以了。
此外,当我尝试打开该文件时,我会收到警告,指出该文件已损坏,Excel 将尝试打开它。我在 Google 表格上没有收到这样的警告。
coldfusion - SpreadsheetFormatRows 格式颜色 ColdFusion
我正在使用 ColdFusion 和 SpreadsheetNew、SpreadsheetAddRows、SpreadsheetFormatRows 等函数创建 Excel 文件。根据我在这里阅读的文档,它们是颜色和 fgcolor 的属性。我有点困惑,这两者之间的区别是什么。一种是文本颜色,另一种是背景颜色吗?我一直在使用 fgcolor 来设置行的背景颜色。
我的主要问题是,根据文档,我可以提供org.apache.poi.hssf.util.HSSFColor
颜色类中的任何值作为我的颜色。但是,我真的需要提供 HEX 值或 RGB。我知道 Excel 可以处理它,因为您可以在 excel 的颜色选择器中输入任何一个。有没有办法为我的行颜色输入 HEX 或 RGB 值?
谢谢你!
更新
coldfusion - cfspreadsheet 另存为 .csv,Excel 显示“FILE.csv 的文件格式和扩展名不匹配”。
我创建了一个冷融合页面,将 MYSQL 中的客户列表输出到 CSV 文件中,以便轻松上传到 SalesForce.com
我可以生成包含所有正确信息的文件。但是,当我尝试使用 excel 打开它时出现错误:“'SalesForceDailyLeads-20160613125138.csv' 的文件格式和扩展名不匹配。该文件可能已损坏或不安全。除非你相信它的来源,否则不要'不要打开它。你还是要打开它吗?我可以打开它(MAC 的 Excel),但在我看来,CFSpreadsheet 没有创建合法的 .csv 文件,而是制作了一个 xlsx。
如果我制作一个 XLS 文件,我不会像使用 CSV 那样有问题。这是代码、CFSpreadsheet 或 excel(对于 mac)的问题吗?我可以修复它吗?
coldfusion - SpreadsheetFormatRow 突然停止工作
我看过这篇文章,但看起来确实有解决方案。无论如何,我正在使用 ColdFusion 10 生成 Excel 电子表格。但是,当我使用 SpreadsheetFormatRow() 并传入要格式化的行时,它只执行大约 3 次然后突然停止。这是一个例子......
ColdFusion 代码
这是生成的 Excel 工作表的屏幕截图
为什么格式化在 X 行和单元格数后停止?如果我切换到使用 XML 格式
它工作正常。但是,我正在为我的颜色使用自定义调色板,所以我不认为切换到 XLSX 格式对我有用。当我尝试然后打电话时
我收到一条错误消息,指出 getCustomPalette() 方法未定义。
谁能帮我解决这个问题?谢谢!!!
甚至更好,因为它适用于 XML 格式,任何人都可以展示如何使用带有 XLSX(xml 格式)的自定义调色板的示例
coldfusion - SpreadSheetAddImage - 添加具有设置宽度和高度的图像
我在 ColdFusion 10 中使用 SpreadSheetAddImage 将图像添加到我的电子表格的标题中。我遇到的问题是该函数需要一个锚位置,例如,如果我想将图像从单元格 1 第 1 行运行到单元格 5 第 5 行,我将提供“1,1,5,5”作为锚参数. 但是,如果我的表格在这些单元格中有少量数据,则图像会被压缩。如何添加具有设定宽度和高度的图像?
coldfusion - ColdFusion - POI setCellStyle 不影响它的现有风格?
我为 Excel 文件创建了一个 cellStyle 以进行行条带化。我还想将任何具有数值的单元格设置为 RIGHT ALIGN。我可以通过检查单元格的值来完成此操作,如果是数字我 setCellStyle(styleRightAlign) 其中 styleRightAlign 是我右对齐单元格样式的名称。
但是,这会覆盖现有样式,并且我的单元格不再具有正确的背景颜色。它正确对齐,但我怎样才能“添加”一个单元格样式而不是覆盖现有的?
这可能吗?
我已经研究过使用CellUtil setCellStyleProperty方法,但我不确定如何在 ColdFusion 中创建它的实例,以及它是否是我需要的。
更新
所以看起来 CF 11+ 有可用的 CellUtil,但 CF 10 没有。数字。因此,我正在使用包含背景颜色的 alignRight 行条纹创建单独的样式。如果有人知道如何在不影响其现有 cellStyle 的情况下对齐单元格,我很想听听。
java - 不同 ColdFusion 版本上的 cfspreadsheet 单元格数据修剪问题
拿下面的代码...
正在读取的 XLS 文件具有包含前导和尾随空格的单元格数据。在一台 ColdFusion 服务器上,输出显示没有空格,好像<cfspreadsheet>
自动修剪了所有数据。在另一台服务器上它没有。我在想也许poi.jar
改变了?有没有其他人经历过这个?我找不到任何人抱怨这件事。
这个 ColdFusion 服务器似乎会自动修剪数据......
版本:2016,0,02,299200
更新级别:chf20160002.jar
这个不...
版本:10,0,19,298511
更新级别:chf10000019.jar
coldfusion - 如何在Excel工作表中显示完整的数字?
我正在使用 cfspeadsheet 将查询导出到 Excel 文件。它正在工作并创建 Excel 工作表。但是,问题是其中一列,即card_number
,包含一个 15 位数字,显示如下:4.5421E+15
。有没有办法可以显示完整的数字:4254218068670980
?
coldfusion - 如何防止 CF 电子表格人口挂起?
当我填充 cf 电子表格对象的行并创建一个 xls 文件时,我遇到了障碍。在我的开发服务器上,整个过程只需要大约一分钟,但在我的产品服务器上,页面在我的查询循环的第一次迭代中开始无限期地挂起。我已经在下面的代码中评论了它开始挂起的位置。
对于 qReconciled 中的每一行,循环的查询(这是连接的结果),我在电子表格中创建 3 行 - 第一个保存来自连接一侧的数据,第二个保存来自另一侧的数据的连接,第三个是空白行。
查询 qReconciled(大约有 2,200 行)没有问题;我在 SQL Server studio 中的 dev 和 prod 上运行了查询,在这两种情况下运行只需要大约一分钟。
请注意,对于 dev 和 prod 服务器,在进程运行时 CPU 被固定在 100% 或接近 100%。但是,虽然开发服务器是一个专用盒子,但产品服务器是一个虚拟机,其他 3 个虚拟机共享同一个盒子,所以我想知道这是否只是一个虚拟机内存分配问题。
我考虑过使用 Ben Nadel 的 POI Utility cfc,在这种情况下,我将创建一个新查询并以与填充电子表格相同的方式填充它(qReconciled 中每 1 行 3 行),并将查询提供给 writeSingleExcel ()。