- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我从数据库中提取数据并在 Excel 中为客户呈现。唯一的问题是某些数据对于列来说太大了,并且由于数据是动态的(当然)我基本上需要能够进行一些文本换行或根据需要扩展列的宽度。
我的代码贴在下面
<!---Used for streaming to browser--->
<cfset context = getPageContext()>
<cfset context.setFlushOutput(false)>
<cfset response = context.getResponse().getResponse()>
<cfset out = response.getOutputStream()>
<cfset response.setContentType("application/vnd.ms-excel")>
<cfset response.setHeader("Content-Disposition", "attachment; filename=ERD_Report.xls" )>
<!---Create Workbook and Sheets in workbook--->
<cfset wb = createObject("java","org.apache.poi.hssf.usermodel.HSSFWorkbook").init()/>
<cfset sheet1 = wb.createSheet("ERD Report")/>
<!---Formatting--->
<cfset cellStyleStatic = createObject("java","org.apache.poi.hssf.usermodel.HSSFCellStyle")/>
<cfset cellHSSFFont = createObject("java","org.apache.poi.hssf.usermodel.HSSFFont")/>
<!---Title--->
<cfset fontTitle = wb.createFont()/>
<cfset fontTitle.setFontName("Calibri") />
<cfset fontTitle.setFontHeightInPoints(javacast("int",11))/>
<cfset styleTitle = wb.createCellStyle()/>
<cfset styleTitle.setfont(fontTitle)/>
<cfset styleTitle.setFillPattern(styleTitle.SOLID_FOREGROUND)/>
<cfset styleTitle.setFillForegroundColor(createObject("java","org.apache.poi.hssf.util.HSSFColor$GREY_25_PERCENT").getIndex())/>
<cfset styleTitle.setBorderBottom(styleTitle.BORDER_THIN)/>
<cfset styleTitle.setBorderLeft(styleTitle.BORDER_THIN)/>
<cfset styleTitle.setBorderRight(styleTitle.BORDER_THIN)/>
<cfset styleTitle.setBorderTop(styleTitle.BORDER_THIN)/>
<!---Regular centered white cell with Borders--->
<cfset styleCenter = wb.createCellStyle()/>
<cfset styleCenter.setAlignment(cellStyleStatic.ALIGN_CENTER)/>
<!---Dates--->
<cfset styleDate = wb.createCellStyle()/>
<cfset styleDate.setDataFormat(createObject("java","org.apache.poi.hssf.usermodel.HSSFDataFormat").getBuiltinFormat("m/d/yy"))/>
<!--- Text Wrapping--->
<cfset sheet1.FormatColumn(6, {textwrap="true"})/>
<!---Sheet 1 (Numbers)--->
<!---Rows and columns--->
<cfset row = sheet1.createRow(0)/>
<cfset sheet1.setColumnWidth(0,6000)/>
<cfset sheet1.setColumnWidth(1,6000)/>
<cfset sheet1.setColumnWidth(2,6000)/>
<cfset sheet1.setColumnWidth(3,6000)/>
<cfset sheet1.setColumnWidth(4,6000)/>
<cfset sheet1.setColumnWidth(5,6000)/>
<cfset sheet1.setColumnWidth(6,6000)/>
<cfset sheet1.setColumnWidth(7,6000)/>
<cfset sheet1.setColumnWidth(8,6000)/>
<cfset sheet1.setColumnWidth(9,6000)/>
<cfset sheet1.setColumnWidth(10,6000)/>
<cfset sheet1.setColumnWidth(11,6000)/>
<cfset sheet1.setColumnWidth(12,6000)/>
<cfset sheet1.setColumnWidth(13,6000)/>
<cfset sheet1.setColumnWidth(14,6000)/>
<cfset sheet1.setColumnWidth(15,6000)/>
<cfset sheet1.setColumnWidth(16,6000)/>
<cfset sheet1.setColumnWidth(17,6000)/>
<cfset sheet1.setColumnWidth(18,6000)/>
<cfset cell = row.createCell(0)/>
<cfset cell.setCellValue('Header1')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(1)/>
<cfset cell.setCellValue('Header2')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(2)/>
<cfset cell.setCellValue('Header3')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(3)/>
<cfset cell.setCellValue('Header4')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(4)/>
<cfset cell.setCellValue('Header5')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(5)/>
<cfset cell.setCellValue('Header6')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(6)/>
<cfset cell.setCellValue('Header7')/>
<cfset cell.setCellStyle(styleTitle)/>
<!---<cfset cell = row.createCell(7)/>
<cfset cell.setCellValue('Header8')/>
<cfset cell.setCellStyle(styleTitle)/>--->
<cfset cell = row.createCell(7)/>
<cfset cell.setCellValue('Header9')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(8)/>
<cfset cell.setCellValue('Header10')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(9)/>
<cfset cell.setCellValue('Header11')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(10)/>
<cfset cell.setCellValue('Header12')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(11)/>
<cfset cell.setCellValue('Header13')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(12)/>
<cfset cell.setCellValue('Header14')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(13)/>
<cfset cell.setCellValue('Header15')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(14)/>
<cfset cell.setCellValue('Header16')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(15)/>
<cfset cell.setCellValue('Header17')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(16)/>
<cfset cell.setCellValue('Header18)/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(17)/>
<cfset cell.setCellValue('Header19')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfset cell = row.createCell(18)/>
<cfset cell.setCellValue('Header20')/>
<cfset cell.setCellStyle(styleTitle)/>
<cfloop query="getall">
<!--- Query Engineer Notes for this Tracking Number --->
<cfquery name="Eng_Notes" datasource="#request.dsn#">
SELECT Eng_Notes AS Note
FROM tbl_ERD_Eng_NOTES
WHERE ERD_ID = <cfqueryparam cfsqltype="cf_sql_varchar" value="#getAll.ID#" />
</cfquery>
<cfset variables.lstNotes = valueList(Eng_Notes.Note, " *** ") />
<cfset row = sheet1.createRow(javacast("int",#getall.currentrow#))/>
<cfset cell = row.createCell(0)/>
<cfset cell.setCellValue('#getall.info1#')/>
<cfset cell = row.createCell(1)/>
<cfset cell.setCellValue('#getall.info2#')/>
<cfset cell = row.createCell(2)/>
<cfset cell.setCellValue('#getall.info3#')/>
<cfset cell = row.createCell(3)/>
<cfset cell.setCellValue('#getall.info4#')/>
<cfset cell = row.createCell(4)/>
<cfset cell.setCellValue('#getall.info5#')/>
<cfset cell = row.createCell(5)/>
<cfset cell.setCellValue('#getall.info6#')/>
<cfset cell = row.createCell(6)/>
<cfset cell.setCellValue('#variables.info7#')/>
<!---<cfset cell = row.createCell(7)/>
<cfset cell.setCellValue('#getall.info8#')/>--->
<cfset cell = row.createCell(7)/>
<cfset cell.setCellValue('#getall.info9#')/>
<cfset cell = row.createCell(8)/>
<cfset cell.setCellValue('#getall.info10#')/>
<cfset cell = row.createCell(9)/>
<cfset cell.setCellValue('#getall.info11#')/>
<cfset cell = row.createCell(10)/>
<cfset cell.setCellValue('#getall.info12#')/>
<cfset cell = row.createCell(11)/>
<cfset cell.setCellValue('#getall.info13#')/>
<cfset cell = row.createCell(12)/>
<cfset cell.setCellValue('#getall.info14#')/>
<cfset cell = row.createCell(13)/>
<cfset cell.setCellValue('#getall.info13#')/>
<cfset cell = row.createCell(14)/>
<cfset cell.setCellValue('#getall.info14#')/>
<cfset cell = row.createCell(15)/>
<cfset cell.setCellValue('#getall.info15#')/>
<cfset cell = row.createCell(16)/>
<cfset cell.setCellValue('#getall.info16#')/>
<cfset cell = row.createCell(17)/>
<cfset cell.setCellValue('#getall.info17#')/>
<cfset cell = row.createCell(18)/>
<cfset cell.setCellValue('#getall.info18#')/>
</cfloop>
我尝试使用 SpreadsheetFormatCell
,as posted here ,虽然我知道它只会文本换行 1 个单元格。所完成的只是让我的 Excel 页面显示 HTTP 500 页面。
我也试过 SpreadsheetFormatColumn
方法,as posted here , 并且有很多错误。
任何帮助都会很棒,如果有另一篇与这篇文章类似的文章,请指出我的方向。我总是有可能错过它。
最佳答案
使用 ColdFusion 9,对吧?这令人沮丧,因为 ColdFusion 9 文档声明它可以工作,但它被严重破坏了。我认为这可能已在最近的 ColdFusion 11 中得到修复,但它仍然使用多个旧版本的 Apache POI 库。
尝试使用 spreadsheetWrite()。我发现使用标签与脚本保存时存在差异:
http://gamesover2600.tumblr.com/post/65341875453/differences-saving-coldfusion-excel-data-w-tag-vs
注意:如果可以使用 CFLive.net 或 TryCF.com 完成此类测试,那就太好了,但出于安全原因,它们不允许生成文件。
关于database - 使用 ColdFusion 在 Excel 列中进行文本换行或自动宽度调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23477840/
表架构 DROP TABLE bla; CREATE TABLE bla (id INTEGER, city INTEGER, year_ INTEGER, month_ INTEGER, val I
我需要拆分字符串/或从具有以下结构的字符串中获取更容易的子字符串。 字符串将来自 window.location.pathname 或 window.location.href,看起来像 text/n
每当将对象添加到数组中时,我都会尝试更新 TextView ,并在 TextView 中显示该文本,如下所示: "object 1" "object 2" 问题是,每次将新对象添加到数组时,它都会覆盖
我目前正在寻找使用 Java 读取网站可见文本并将其存储为纯文本字符串的方法。 换句话说,我想转换成这样: Hello stupid World进入“ Hello World ” 或者类似的东西 Un
我正在尝试以文本和 HTML 格式发送电子邮件,但无法正确发送正确的 header 。特别是,我想设置 Content-Type header ,但我找不到如何为 html 和文本部分单独设置它。 这
我尝试了上面的代码,但我无法绑定(bind)文本,我怎样才能将资源内部文本 bloc
我刚刚完成了 Space Shooter 教程,由于没有 GUIText 对象,所以我创建了 UI.Text 对象并进行了相应的编码。它在统一播放器中有效,但在构建 Web 应用程序后无效。我花了一段
我有这个代码: - (IBAction)setButtonPressed:(id)sender { NSUserDefaults *sharedDefaults = [[NSUserDefau
抱歉标题含糊不清,但我想不出我想在标题中做什么。无论如何,对于图像上的文本,我使用了 JLabel 文本并将其添加到图标中。 JLabel icon = new JLabel(new Imag
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我在将 Twitter 嵌入到我从 HTML 5 转换的 wordpress 运行网站时遇到问题。 我遇到的问题是推文不是我的自定义字体... 这是我无法使用任何 css 定位的 HTML 代码,我正
我正在尝试找到解决由于使用以下形式的代码而导致的冗余字符串连接问题的最佳方法: logger.debug("Entering loop, arg is: " + arg) // @1 在大多数情况下,
我写了这个测试 @Test public void removeRequestTextFromRouteError() throws Exception { String input = "F
我目前正在创建一个正则表达式来拆分所有匹配以下格式的字符串:&[文本],并且需要获取文本。字符串可能类似于:something &[text] &[text] everything &[text] 等
有没有办法将标题文本从一个词变形为另一个词,同时保留两个词中使用的字母?我看过的许多 css 文本动画大多是视觉的,很少有旋转整个单词的。 我想要做的是从一个词过渡,例如“BEACH”到“CHANGE
总结matplotlib绘图如何设置坐标轴刻度大小和刻度。 上代码: ?
我在容器 (1) 中创建了容器 (2)。你能帮忙如何向容器(1)添加文本吗?下面是我的代码 return Scaffold( body: Padding( padding: c
我似乎找不到任何人或任何人这样做过。我试图限制我们使用的图像数量,并想创建一个带有渐变作为其“颜色”的文本,并在其周围设置渐变轮廓/描边 到目前为止,我还没有看到任何将两者结合在一起的东西。 我可以自
我正在为视频游戏暗黑破坏神 2 使用 discord.py 构建一个不和谐机器人。其中一项功能要求机器人从暗黑破坏神 2 屏幕截图中提取项目的名称和属性。我目前正在为此使用 pytesseract,但
我很难弄清楚如何旋转 strip.text theme 中的属性来自 ggplot2 .我使用的是 R 版本 3.4.2 和 ggplot2 版本 2.2.1。 以下是 MWE 的数据。 > dput
我是一名优秀的程序员,十分优秀!