Excel 键入空格键或使用向上翻页和向下翻页按钮。通过键入q键可以解除man程序
我正在使用它,效果很好。我的解决方案:Excel 键入空格键或使用向上翻页和向下翻页按钮。通过键入q键可以解除man程序,excel,scripting,csv,Excel,Scripting,Csv,我正在使用它,效果很好。我的解决方案: use Spreadsheet::BasicRead; my $xls = 'file.xls'; my $csv = 'file.csv'; my $ss = new Spreadsheet::BasicRead($xls) or die "Could not open '$xls': $!"; my $name = ''; my $row = 0; open(FILE, ">$csv") or die "Cou
use Spreadsheet::BasicRead;
my $xls = 'file.xls';
my $csv = 'file.csv';
my $ss = new Spreadsheet::BasicRead($xls) or die "Could not open '$xls': $!";
my $name = '';
my $row = 0;
open(FILE, ">$csv") or die "Could not open : $!\n";
flock(FILE, 2) or die "Could not lock file\n";
while (my $data = $ss->getNextRow()){
$row++;
$name = join(';',@$data);
print FILE $name."\n" if ($name ne "");
}
flock(FILE, 8);
close FILE;
您可以使用用于数据库的Alacon命令行实用程序来实现这一点 它与Node.js一起工作,因此您需要安装并打包: 要将Excel文件转换为CVS(ot TSV),您可以输入:
> node alacon "SELECT * INTO CSV('mydata.csv', {headers:true}) FROM XLS('mydata.xls', {headers:true})"
Alacon支持其他类型的转换(CSV、TSV、TXT、XLSX、XLS)和SQL语言构造(请参见示例)。这可能也是一种很好的方法。我很快就得到了Perl解决方案,所以我停止了这项工作。
新对象-comobject Excel。应用程序
看起来会启动Excel应用程序——你说过你不想这样做。@John,谢谢你指出这一点。我喜欢并使用Perl解决方案。这是一个很好的问题。我设法运行了代码,它返回了用逗号分隔的Excel条目,正如预期的那样。很抱歉这个愚蠢的问题,但是如何将最终信息保存在csv文件中呢?在我发布这个问题的那天,praavDa指出了Python xlrd,几天后作者John自己也添加了一篇文章。听起来很有趣,我将查看Ubuntu。在重复的问题中进一步探讨这一点:
public static string ToCSV(this DataTable _dataTable)
{
StringBuilder csv = new StringBuilder();
StringWriter sw = new StringWriter(csv);
int icolcount = _dataTable.Columns.Count;
for (int i = 0; i < icolcount; i++)
{
sw.Write(_dataTable.Columns[i]);
if (i < icolcount - 1)
{
sw.Write(",");
}
}
sw.Write(sw.NewLine);
foreach (DataRow drow in _dataTable.Rows)
{
for (int i = 0; i < icolcount; i++)
{
if (!Convert.IsDBNull(drow[i]))
{
sw.Write(drow[i].ToString());
}
if (i < icolcount - 1)
{
sw.Write(",");
}
}
sw.Write(sw.NewLine);
}
sw.Close();
return csv.ToString();
}
FileInputStream fis = new FileInputStream(filename);
Workbook wb = new HSSFWorkbook(fis);
Sheet sheet = wb.getSheetAt(0);
for (Row row : sheet) {
for (Cell cell : row) {
doSomething(cell.toString())
}
}
FullName = objArgs(I)
FileName = Left(objArgs(I), InstrRev(objArgs(I), ".") )
Set objExcel = CreateObject("Excel.application")
set objExcelBook = objExcel.Workbooks.Open(FullName)
objExcel.application.visible=false
objExcel.application.displayalerts=false
objExcelBook.SaveAs FileName & "csv", 23
objExcel.Application.Quit
objExcel.Quit
Set objExcel = Nothing
set objExcelBook = Nothing
ssconvert myfile.xls myfile.gnumeric
ssconvert --list-importers
ssconvert --list-exporters
man ssconvert
use Spreadsheet::BasicRead;
my $xls = 'file.xls';
my $csv = 'file.csv';
my $ss = new Spreadsheet::BasicRead($xls) or die "Could not open '$xls': $!";
my $name = '';
my $row = 0;
open(FILE, ">$csv") or die "Could not open : $!\n";
flock(FILE, 2) or die "Could not lock file\n";
while (my $data = $ss->getNextRow()){
$row++;
$name = join(';',@$data);
print FILE $name."\n" if ($name ne "");
}
flock(FILE, 8);
close FILE;
> npm install alasql
> node alacon "SELECT * INTO CSV('mydata.csv', {headers:true}) FROM XLS('mydata.xls', {headers:true})"