问题标签 [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.

0 投票
1 回答
202 浏览

coldfusion - cfspreadsheet 参数验证错误

我正在尝试获取一个基本示例来使用cfspreadsheet. 但这是我收到的错误:

SPREADSHEETSETCELLVALUE 函数的参数验证错误。

代码

对此的任何帮助将不胜感激。

0 投票
0 回答
286 浏览

coldfusion - CF 电子表格添加 % 以格式化列

我正在使用 CF10 并尝试在电子表格中添加 % 符号。

我在第 5 列条目上添加 % 符号时遇到问题。(当查询完成运行时,只有从第二行开始的条目(不是标题)而不是空白单元格。

我试过添加: '#DecimalFormat(totalChecklistsByLocPct)# %'" 然后excel不知道正确的格式。

然后我尝试了: <cfset spreadsheetFormatCell( objSpreadsheet, {dataformat: "0.00%"}, 2 )>

然后只是通过一个错误:

SPREADSHEETFORMATCELL 函数的参数验证错误。

任何有关如何将此 % 符号添加到第 5 列(查询停止后不是标题或空白单元格)的帮助将不胜感激。

编辑

也试过:

<cfset rowList = "'#(rnA eq 1)?assoc_name:''#','#(rnl eq 1)?trans_location:''#','#checklistsByAssocLoc#','#assocChecklistsByLoc#','#NumberFormat(totalChecklistsByAssocLocPct, '0.00')# %'">

Excel 仍然通过错误说它的格式为文本。

0 投票
1 回答
270 浏览

coldfusion - cfspreadsheet 使行中的第一项变为粗体

我在 ColdFusion10 中有一个使用 cfspreadsheet 的行列表。

我试图使这部分加粗。

我已经尝试过 cfif 语句,但似乎没有任何结果可以使我的名字加粗。

对此的任何帮助将不胜感激。

编辑

我的整个电子表格

0 投票
0 回答
416 浏览

coldfusion - 列格式 cfspreadsheet

我在 ColdFusion 10 中使用 cfspreadheet。我将第 5 列向右对齐。1 到 44 列右对齐,然后 44 到 73 列再次开始左对齐。尝试格式化电子表格时这是典型的情况吗?

<cfset SpreadsheetFormatColumn( objSpreadsheet, {alignment="right"}, 5 )>

所有电子表格代码:

如果我以十进制格式删除百分号“%”,我应该添加它确实完全对齐。但我试图让它与 % 符号一起使用。

0 投票
0 回答
280 浏览

coldfusion - cfspreadsheet 直接更新单元格

可以cfspreadsheet(或使用冷融合的任何其他方法)仅更新现有 xlsx 电子表格中的几个单元格吗?我过去更新了整个工作表 - 使用一个对象 - 但有问题的工作表是如此庞大和混乱 - 我只想能够编辑一些单元格 - 而不必阅读和验证所有列。基本上是直接在电子表格上使用的能力,SpreadsheetSetCellValue而不是仅在必须作为整个工作表读入和更新/写回的电子表格对象上工作。

0 投票
1 回答
244 浏览

multithreading - 如何在 Coldfusion/Lucee 中使用多线程编程读取大的 excel 文件?

我正在尝试使用 10 个线程读取一个大的 excel 文件,如下面的代码所示:

但是当我转储_Qry变量时,它不会产生从文件中读取的预期查询。它转储 0。我怀疑这是线程范围或线程结果合并问题,我不知道如何解决。

感谢您的帮助:)

0 投票
2 回答
654 浏览

performance - CFSpreadSheet 函数占用大量数据集的内存

我们有一个 Coldfusion 应用程序,它正在运行一个大型查询(最多 100k 行),然后以 HTML 格式显示它。然后,用户界面提供了一个导出按钮,该按钮触发使用 cfspreadsheet 标记和电子表格函数将报告写入 .xlsx 格式的 Excel 电子表格,特别是用于构建行列值的电子表格SetCellValue、用于格式化的电子表格格式行和电子表格格式单元函数。然后使用以下命令将 ssObj 写入文件:

其中 ssObj 是 SS 对象。我们看到文件大小约为 5-10 Mb。

但是...创建此报告和写入文件的内存使用量增加了大约 1GB。复杂的问题是,java GC 在导出完成后没有立即释放内存。当我们有多个用户运行并导出这种类型的报告时,内存不断攀升并达到分配的堆大小并杀死服务器的性能,从而导致服务器停机。通常需要重新启动才能将其清除。

这是正常/预期的行为还是我们应该如何处理这个问题?是否可以在导出完成后按需轻松释放此操作的内存使用量,以便运行报表的其他人轻松访问为他们的报表释放的空间?这种类型的内存使用对于 5-10Mb 文件是否常见于 cfspreadsheet 函数并写出对象?

我们已尝试暂时删除昂贵的格式化功能,但创建和写入 .xlsx 文件的内存使用量仍然很大。我们还尝试使用电子表格添加行方法和 cfspreadsheet action="write" query="queryname" 标记传入查询对象,但这也占用了大量内存。

为什么这些函数如此占用内存?在没有内存不足问题的情况下生成 Excel SS 文件的最佳方法是什么?

我应该添加服务器在 Windows 上的 Apache/Tomcat 容器中运行,我们使用的是 CF2016。

0 投票
1 回答
731 浏览

coldfusion - 将用户电子表格列映射到数据库字段

我不知道从哪里开始这个项目。我知道如何阅读 excel 电子表格的内容,我知道如何识别标题行,我知道如何遍历内容。我相信我已经解决了 UX 部分,但我不确定如何处理数据。

我用谷歌搜索,只找到了 .Net 解决方案,但我正在寻找 ColdFusion/Lucee 解决方案。

我有一个工作表单,允许我将用户的电子表格列映射到我的数据库值(对于这篇文章来说,这很简单;用户没有直接访问数据库的权限)。

现在我有了数据,我不确定如何循环数据结果。我相信会有几个循环(一个外部和一个内部)。然后当然我还需要遍历文件内容,但我想如果我能把标题映射出来,我就能找出剩下的。

任何好的链接、教程或指南将不胜感激。

一些伪代码可能足以让我开始。

更新 这是在我的表单中完成映射后数据的样子。列分隔符是 ::: 并且在列内是 ||| 表示与所选列值关联的 ID。我已经包含了 id 和列值,因为我计划再次显示映射作为确认。拥有 ID 可以节省访问数据库的时间。

用户执行映射后表单提交的转储

0 投票
2 回答
423 浏览

coldfusion - 使用 ColdFusion 10 合并单元格后如何在 cfspreadsheet 中进行顶部对齐

在使用电子表格功能合并单元格之后,我正在使单元格顶部对齐。我在 google 和CFML Reference Adob​​e ColdFusion 10上发现的只有 left (默认) , right, center, justify, general, fill, and center_selection. 合并单元格后是否有其他方法或想法可以使其“顶部对齐”?这是我的代码:

0 投票
2 回答
936 浏览

coldfusion - 如何修复在cfspreadsheet中存储为文本的数字

我在cfspreadsheet(Coldfusion 10)中将excel单元格格式制作为数字,但是当它转换为excel时,它会在单元格处显示警告

数字存储为文本。

我能知道如何解决这个问题吗?因为我需要数字格式。这是我的代码:

从评论更新:

示例查询值是50数据类型是number。我的查询是这样的。

我认为这是因为数据类型是数字并与 % 连接,这就是它存储为文本的原因。