公司使用Mantis管理bug, Mantis有一个功能, 将bug导出为Excel,
但是目前的这个mantis版本, 在导出excel的时候, "摘要,说明,问题重现步骤说明,附加信息,评论"等等这些信息中,
提交bug时候的回车换行符都不见了, 因为没有了格式, 在excel中读起来很不方便,
这回想改善的便是这个问题,
在使用php做成excel的时候, 如何在一个excel cell内写入换行符, 控制该单元格的格式.
我试验了一下, \r\n在生成excel的时候, 是无效的, 会被过滤调.
但是要是写入<br>, 起到的效果不是单元格内换行, 而是换了一个新的单元格.
google了下, 要想达到单元格内换行的目的, 需要插入下面这个字符串
'<br style="mso-data-placement:same-cell;" />'
另外我调查的过程中, 来发现了另外一个有趣的问题.
前面已经提到, 在用php生成excel的时候, \r\n是不起任何换行作用的, 要想控制换行, 需要借助html标记.
但是, 如果把\r\n夹杂在<pre> </pre>中间,
形如下面这样, 那么, 这时候的\r\n相当于一个<br>, 会在做成的excel中, 新起一个单元格.
写道
<pre>
..........\r\n
..........\r\n
..........\r\n
</pre>
这种行为显然也不是我们想要的,
所以还是像下面这样, 把他们统统替换掉吧.
$p_new_lines = array("\r\n", "\n", "\r","\r\n", "<pre>","</pre>","<br>","</br>","<br/>");
$p_change_line_in_excel_cell = '<br style="mso-data-placement:same-cell;" />';
$p_result = str_replace( $p_new_lines,$p_change_line_in_excel_cell,$p_input);
分享到:
相关推荐
综上所述,解决PHP生成Excel时单元格内无法换行的问题需要考虑多种因素,包括正确的换行符选择、操作系统的兼容性以及Excel文件格式的特殊处理。了解这些知识将有助于更好地处理PHP中Excel文件生成时可能遇到的类似...
接下来,通过两个嵌套的`foreach`循环遍历数据,并将每个单元格值与制表符拼接,表示列分隔,最后的换行符表示新行。运行这段代码后,浏览器将下载一个名为`test.xls`的文件,其中包含数据。 请注意,这种方式生成...
我们把每个单元格的数据用逗号分隔,并在每行末尾添加换行符。 ```javascript var csvContent = 'data:text/csv;charset=utf-8,'; data.forEach(function(row) { row.join(',').replace(/"/g, '""').replace(/,\n/...
【将选区保存为图片】【生成个性化批注】 【插入GIF动画】【插入Flash动画】【禁止录入重复值】【相同项与不同项】【建文件目录】【提取选区重复值】【清除列中重复值】【标示重复值】【删除空白单元格所在行】...
1. 生成文件名和处理中文乱码问题:在生成导出的Excel文件时,需要为文件设置一个合适的名称。由于HTTP协议不直接支持中文文件名,因此需要进行编码处理以避免乱码。在代码中,使用了`urlencode`函数来处理MSIE...
- **表格操作**:支持插入表格,同时可以格式化表格中的每一行和单元格。 - **列表与链接**:允许插入项目符号列表、编号列表或多层次列表,还可以添加超链接。 - **图形与图表**:支持插入各种图形形状(如弧形、...
实例075 动态改变页面中单元格的背景颜色 109 实例076 屏蔽偶数次的数据输出 110 实例077 跳过数据输出中指定的记录 111 实例078 执行指定次数的循环 112 2.7 自定义函数 113 实例079 自定义函数截取中文字符串 113 ...
实例075 动态改变页面中单元格的背景颜色 109 实例076 屏蔽偶数次的数据输出 110 实例077 跳过数据输出中指定的记录 111 实例078 执行指定次数的循环 112 2.7 自定义函数 113 实例079 自定义函数截取中文字符串 113 ...
3. **样式和格式设置**:允许自定义单元格、行、列的样式,包括字体、颜色、边框、填充、对齐方式等,以及应用条件格式规则。 4. **图表和图像处理**:可以添加、修改和删除电子表格中的图表,同时支持插入和处理...
根据给定文件的信息,我们可以总结出以下相关的IT知识点: ### 1. 函数的定义与调用 **知识点概述:** - 函数是程序的基本组成单位之一,它可以帮助程序员更好地组织... BufferedWriter的换行符 **知识点概述:** ...
-Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。 -增加示例-如何将Grid控件导出为Excel(data\grid_excel_run.aspx)(feedback:503684912)。 -如果TreeNode的属性...
-Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。 -增加示例-如何将Grid控件导出为Excel(data\grid_excel_run.aspx)(feedback:503684912)。 -如果TreeNode的属性...