Perl 将存储的字符串打印到单个单元格中的xls中

Perl 将存储的字符串打印到单个单元格中的xls中,perl,xls,Perl,Xls,我有一个用字符串存储的数组,我从一个文本文件中提取该字符串,并希望在单个单元格中打印xls。下面的命令可以在同一列中打印,但行是分开的。找到在单个单元格中打印的方法 #!/usr/bin/perl use strict; use warnings; use Spreadsheet::WriteExcel; my $workbook = Spreadsheet::WriteExcel->new("result.xls"); my $wrksheet = $w

我有一个用字符串存储的数组,我从一个文本文件中提取该字符串,并希望在单个单元格中打印xls。下面的命令可以在同一列中打印,但行是分开的。找到在单个单元格中打印的方法

#!/usr/bin/perl
    
use strict;
use warnings;
use Spreadsheet::WriteExcel;


my $workbook = Spreadsheet::WriteExcel->new("result.xls");
my $wrksheet = $workbook->add_worksheet("summary");
$wrksheet->write_col(1,0,[@{read_out_your_file_misc("temp_stage.txt")}]);
$workbook->close() or die "Error closing file: $!";
    
sub read_out_your_file_misc {
    my $content_of_file = [];
    open my $fhh, '<', shift() or die "can't open file:$!";
    while (<$fhh>) {
        chomp;
        #push @{$content_of_file}, $_, $/;
    push @{$content_of_file}, $_;
    }
    return $content_of_file;
}
#/usr/bin/perl
严格使用;
使用警告;
使用电子表格::WriteExcel;
my$工作簿=电子表格::WriteExcel->new(“result.xls”);
my$wrksheet=$workbook->add_工作表(“摘要”);
$wrksheet->write_col(1,0,[@{read_out_your_file_misc(“temp_stage.txt”)});
$工作簿->关闭()或“关闭文件时出错:$!”;
子文件读取\u您的\u文件\u杂项{
我的$content_of_文件=[];

打开我的$fhh,“如果您提供的数组中有多个元素,则列
0
中有多行(
A
)将由
write\u col
填充。您可以
join
数组中的元素来修复此问题。如果这是您经常使用的模式,您甚至可以更改
read\u out\u your\u file\u misc
函数以返回数组或标量,具体取决于您需要什么

sub read\u out\u your\u file\u misc{
my$filename=shift或die“错误:读取您的文件\u misc需要文件名”;
my$delim=shift | |','#将默认分隔符设为逗号
打开我的$fhh,'写入列(1,0,[$result]);
以数组形式获取文件内容,并从A4及以下位置填充:

my@result=read_out_your_file_misc('temp_stage.txt');
$wrksheet->写入列(3,0,\@result);

如果提供的数组中有多个元素,则列
0
中有多行(
A
)将由
write\u col
填充。您可以
join
数组中的元素来修复此问题。如果这是您经常使用的模式,您甚至可以更改
read\u out\u your\u file\u misc
函数以返回数组或标量,具体取决于您需要什么

sub read\u out\u your\u file\u misc{
my$filename=shift或die“错误:读取您的文件\u misc需要文件名”;
my$delim=shift | |','#将默认分隔符设为逗号
打开我的$fhh,'写入列(1,0,[$result]);
以数组形式获取文件内容,并从A4及以下位置填充:

my@result=read_out_your_file_misc('temp_stage.txt');
$wrksheet->写入列(3,0,\@result);


该单元格的预期结果是什么?您只能写入一个值,因此首先必须构建数组的字符串表示形式(即使用join)哦,好吧,很少来这里。我已经接受了你对我的老问题的建议。米格尔。一个牢房里应该有多行字或字符串。@Blurman我建议你检查一下你的其他问题,看看你是否也能接受很多其他答案。当人们投入时间帮助时,这是礼貌的做法。会的。永远不知道w这里有这样的接受功能。谢谢。您在该单元格中的预期结果是什么?您只能写入一个值,因此首先必须构建数组的字符串表示形式(即使用join)哦,好吧,很少来这里。我已经接受了你对我的老问题的建议。米格尔。一个牢房里应该有多行字或字符串。@Blurman我建议你检查一下你的其他问题,看看你是否也能接受很多其他答案。当人们投入时间帮助时,这是礼貌的做法。会的。永远不知道w这里有这样的接受功能。谢谢。这可以将文件内容打印到一个单元格中。但是我如何在每个句子之间添加一个换行符呢?目前它正在打印一个长的字符line@Blurman您将用
“\n”替换默认分隔符
这将在所有行之间添加一个换行符。实际上,我在答案中做了一个选项,以便您可以执行:
my$result=read\u out\u your\u file\u misc('temp\u stage.txt',“\n”);
-我对我在代码中所做的事情发表了评论,但如果我解释得不够,请提问。@Blurman另一方面,一个句子需要更多的工作。可能是一个句子正则表达式。@Blurman在问题中添加一个小示例文件,并解释不同的单词应该按照什么规则进入不同的单元格,也许有人可以elp.这是我第一次使用
电子表格::WriteExcel
,所以我相信那里有更多的人更合格。这可以将文件内容打印到一个单元格中。但是我如何在每个句子之间添加一个换行符呢?目前它正在打印一个长的句子line@Blurman您将用
“\n”替换默认分隔符
这将在所有行之间添加一个换行符。实际上,我在答案中做了一个选项,以便您可以执行:
my$result=read\u out\u your\u file\u misc('temp\u stage.txt',“\n”);
-我对我在代码中所做的事情发表了评论,但如果我解释得不够,请提问。@Blurman另一方面,一个句子需要更多的工作。可能是一个句子正则表达式。@Blurman在问题中添加一个小示例文件,并解释不同的单词应该按照什么规则进入不同的单元格,也许有人可以这是我第一次使用
电子表格::WriteExcel
,所以我肯定会有更合格的人。