我如何创建一个案文文件,所以当它打开在Excel中,行组合在一起?
题
我收集了一些数据通过一Perl脚本。数据需要审查和处理由其他人使用Excel。目前,我正在写的数据作为一个选项分隔的文本文件和Excel可以打开这个就好了。
有一个层次结构的数据,但是,它会更容易对于审查人员看到一棵树而不是平面单。这是,而不是呈现中的数据列,
foo foo1
foo foo2
foo foo3
bar bar1
bar bar2
...
它作为一个点扩大树:
foo
foo1
foo2
foo3
bar
bar1
bar2
...
Excel的基功能(发现,在2007年根据"数据>纲要>组")是一个很好的匹配这个的演讲,作为一个比较简单的操作过枢表。
什么是最简单的方法我们从这个平坦的名单列于本组名单?理想情况下,我可以写出来的数据在一个文本形式Excel将适用该分组自动时,它是进口的。或者,如果有一个小数量的步骤,审查者可以申请后进口的数据,类似于应用宏或者一个模板,这将是确定。
解决方案
因为你已经使用perl,我建议你创建的excel文件直接在perl使用的周到支持的模块 电子表格::WriteExcel 其中有支持 Excel的概述.
作品像这样的东西:
.
.
$worksheet->write('A2', 'foo');
$worksheet->write('B3', 'foo1');
$worksheet->write('B4', 'foo2');
$worksheet->write('B5', 'foo3');
$worksheet->set_row(2, undef, undef, 0, 1, 1);
$worksheet->set_row(3, undef, undef, 0, 2);
$worksheet->set_row(4, undef, undef, 0, 2);
$worksheet->set_row(5, undef, undef, 0, 2);
.
.
其他提示
选择的所有行,包括列标题,在名单你要过滤器。
ShowTip 点击左上单元的范围,然后拖到底正确的单元。
- 在数据菜单点过滤器,然后点击的高级过滤器。
- 在高级过滤器对话框击筛选名单,在地方。
选择独特的记录,只有检查箱子,然后点击"确定"。
过滤的列表显示和重复行将被隐藏。
在编辑菜单点击办公室剪贴板。
剪贴板的任务显示窗格。
确保过滤清单仍然是选择,然后点击的复制按钮。
过滤清单突出显示与边界轮廓和选择出现作为一项顶部的剪贴板。
在数据菜单点过滤器,然后点击显示所有。
原来的名单是重新显示。
按删除的关键。
原来的名单中被删除。
在剪贴板,点击过滤清单的项目。
过滤的清单出现在同一位置,因为原来的名单。
Excel的最新版本(2003年是我们在这里使用)可以使用XML格式,XLSX。一个XLSX文件是一个XML文件的zip文件。如果你想将在Excel中你想要的设置打开一个文件,试试这个:首先创建你想要的分组模板文件。它存成XLSX。使用标准的zip软件解压文件。看看里面有什么。我还没有和具体分组的工作,但在电子表格中的所有命令将在那里以XML格式,你需要在分组设置为弄清楚。然后,它使得在XML和再压缩和解适当的修改的问题。努力了一点,但您可以使用此方法以编程方式创建预分组文件。可以存在对这个专门面向Perl库,我不知道。
一个CSV文件也很容易产生。 OpenOffice的让你选择如何解析的事情,但擅长节选用逗号分隔的列(没有任何形式报价)和CRLF分隔行。
A1,A2,A3
B1,B2,B3
等