response.ContentType =“application / vnd.ms-excel”调整电子表格列的宽度

时间:2009-10-07 04:43:25

标签: asp-classic excel-vba vba excel

打开带有响应对象的excel电子表格,我很想知道是否有办法,一旦写完所有数据以调整列宽,以便所有数据都适合?

谢谢,罗恩。

1 个答案:

答案 0 :(得分:1)

您的意思是,设置响应标头然后将HTML抛出到客户端浏览器? MS Excel可以处理HTML,但是你不能在HTML中存储VBA宏,因此没有简单的方法来实现这一点。

一种可行的解决方法是生成HTML并将列宽设置为足以显示所有单元格内容而不包装的值。

为了帮助您实现此目的,请尝试在计算机桌面中生成一个工作簿,其中包含与正在导出的报表类似的文本和格式,然后将工作簿另存为html文件,然后查看生成的代码。在所有杂乱的CSS / HTML自动生成的代码背后,你会发现一些改进html表的技巧。例如,请看这个片段:

<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 11">

有了这个,您正在帮助MS Excel将您的HTML文件识别为工作表。现在查看元素内的css,你会发现一些自定义选择器,如col {mso-width-source:auto;}。尝试使用其值,直到您对结果满意为止,然后将其合并到HTML上。