- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有多个 .xls 文件想要转换为 csv 文件,并且已经找到了此 JavaScript:
/*
jPaq - A fully customizable JavaScript/JScript library
http://jpaq.org/
Copyright (c) 2011 Christopher West
Licensed under the MIT license.
http://jpaq.org/license/
Version: 1.0.6.000001
Revised: April 6, 2011
*/
(function(){jPaq={toString:function(){return"jPaq - A fully customizable JavaScript/JScript library created by Christopher West."}};var e=new ActiveXObject("WScript.Shell");alert=function(a,b,c,d){a==null&&(a="");if(!b)b=WScript.ScriptName;c==null&&(c=alert.OKOnly+alert.Exclamation);d==null&&(d=0);return e.Popup(a,d,b,c)};alert.OKOnly=0;alert.OKCancel=1;alert.AbortRetryIgnore=2;alert.YesNoCancel=3;alert.YesNo=4;alert.RetryCancel=5;alert.Critical=16;alert.Question=32;alert.Exclamation=48;alert.Information=
64;alert.Timeout=-1;alert.OK=1;alert.Cancel=2;alert.Abort=3;alert.Retry=4;alert.Ignore=5;alert.Yes=6;alert.No=7})();
/***** END OF JPAQ *****/
try {
// Create an instance of Excel, but don't allow the content
// area to be repainted.
var xlCSV = 6;
var xlApp = new ActiveXObject("Excel.Application");
xlApp.Visible = true;
xlApp.ScreenUpdating = false;
xlApp.DisplayAlerts = false;
// Initialize the counts.
var fileCount = 0, csvCount = 0;
// Regular expression for match Excel files to be converted.
var re = /([^\\\/]+)\.xlsx?$/i;
// Reference the containing folder.
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fldr = fso.GetFolder(WScript.ScriptFullName.replace(/[\\\/][^\\\/]+$/, ""));
// Determine whether or not linefeed characters should be removed.
var msg = "Would you like to remove linefeed characters from all cells?";
var title = "Remove Linefeed Characters";
var removeLf = alert.Yes == alert(msg, title, alert.YesNo + alert.Question);
// Loop through all of the xls and xlsx files in this folder.
for(var e = new Enumerator(fldr.Files); !e.atEnd(); e.moveNext()) {
var aFile = e.item();
if(re.test(aFile.Name)) {
xlApp.StatusBar = "Processing " + aFile.Path + "...";
// Open the workbook.
var wb = xlApp.Workbooks.Open(aFile.Path);
// Save each worksheet as a CSV file.
for(var e2 = new Enumerator(wb.Sheets); !e2.atEnd(); e2.moveNext()) {
var ws = e2.item();
if(removeLf) {
ws.UsedRange.Replace("\n", "");
}
var csvPath = aFile.Path.replace(re, function($0, $1) {
return $1 + "-" + ws.Name + ".csv";
});
ws.SaveAs(csvPath, xlCSV);
csvCount++; // Increment the number of CSV's.
}
// Close the workbook.
wb.Close();
// Increment the number of files.
fileCount++;
}
}
// Allow alerts to be displayed, and the screen to be updated again.
xlApp.DisplayAlerts = true;
xlApp.ScreenUpdating = true;
// Close Excel.
xlApp.Quit();
var msg = "The results are as follows:\nFiles converted: "
+ fileCount + "\nCSV's created: " + csvCount;
var title = "Conversion Process Complete";
alert(msg, title, alert.Information);
}
catch(e) {
// If the Excel workbook is open, close it.
try{ wb.Close(false); }catch(e2){}
// If Excel is open, change the settings back to normal and close it.
try{
xlApp.DisplayAlerts = true;
xlApp.ScreenUpdating = true;
xlApp.Quit();
} catch(e2){}
// Print the error message.
var msg = "The following error caused this script to fail:\n"
+ e.message;
var title = "Critical Error Occurred";
alert(msg, title, alert.Critical);
}
但是,此代码使用逗号分隔保存文件,而不是使用分号。看来,我必须使用本地设置保存文件(当我通过 Excel 手动保存它们时,它们会用分号保存),而且我不知道如何...
有谁知道这个参数
ws.SaveAs(csvPath, xlCSV);
方法,所以它将使用我的本地设置?
非常感谢您的帮助!
最佳答案
我很高兴您找到my post有帮助。不幸的是,似乎唯一的方法是通过控制面板实际更改系统的本地设置。经过多次搜索后我确定了这一点。 Here is a page其中陈述了这一事实。如果您找到其他解决方案,请告诉我们。
关于javascript - 将多个 .xls 文件转换为 .csv 文件,以分号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12605920/
;用作语句分隔符,所以放置多个;在语句的末尾很好,因为它只是添加了空语句。 我遇到了这个有多个 ; 的代码最后但删除它们会导致错误: $line =~s;[.,]$;;; 应该与 $line =~s;
当使用自动完成来填充方法参数时,大多数情况下最后应该有一个分号。 似乎必须有一些键盘快捷键可以在最后输入分号(也可能是换行符),但我找不到它! 谢谢。 编辑 : 也许问题不清楚,当完成一个自动完成方法
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我知道我不应该在循环后放置分号。但我正在学习,不小心插入了一个。我想确切地知道我的错误到底发生了什么。所以下次发生类似的事情时,我就知道错误的根源。 在下面的代码中,在这部分代码中: triangul
我想拆分我的查询,但没有得到完全符合我要求的答案。 我的字符串如下: select 1;select \\2; select 3\\;copy customer from 's3://mybucket
VBA 中带有 Debug.Print 语句的分号 ( ; ) 的实际值/含义是什么? 我经常使用它,但对它没有真正的了解,我所知道的是它不等于 vbTab 常量,因为间距不一样。 IE。 Debug
我需要从 HTML 中的 javascript 代码获取分配的变量名称和值。 例如有html代码: ~~ contents var value1 = 55;var value2= 27;
我正在用 JSFiddle 校对这个函数,它说第二行缺少分号,但是我无法确定它会去哪里。 function debtSpiral() { var debtID = setInterval(debt
给定一个使用 ; 策略的有效 Coq 证明,是否有一个通用公式可以将其转换为用 . 替换 ; 的有效等效证明;? 许多 Coq 证明使用 ; 或战术排序策略。作为初学者,我想观察各个步骤的执行,因此我
我被困在工作中,电脑被锁定。但我正在尝试练习我的 Scala。我正在使用 Ideone.com,因为我什至无法安装 scalac... 无论如何这不是编译: class DPt(var name: S
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎偏离主题,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或 include a mini
考虑这些文件名。 ; f - Copy.txt ;f.txt f - Copy ;- Copy.txt f - Copy.txt 我有这段代码可以解析任何文件中的 & 符号,答案是:Drag and
为什么带有验证器(Mozilla 或 JSlint)的 Aptana 会提示这段代码: var collectionOfValues = { key0 : value0; key1 :
有什么方法可以绑定(bind); (\059) 到 tmux 中的命令? 默认情况下,它绑定(bind)到最后一个 Pane ;但是,我想将其重新绑定(bind)到 select-pane -R。 我
我有一个 Java 字符串,它实际上是一个 SQL 脚本。 CREATE OR REPLACE PROCEDURE Proc AS b NUMBER:=3; c
我有一个 python 字符串: names = "John, Paul; Sally/Frank" 我想用 , 分割字符串;/.我试过: names.split(",") 但我不确定如何通过所有分隔
在声明一组变量时使用逗号而不是分号有什么区别和/或优点(如果有的话)。 例如: var foo = 'bar', bar = 'foo'; 对比 var foo = 'bar'; var bar =
在声明一组变量时使用逗号而不是分号有什么区别和/或优点(如果有的话)。 例如: var foo = 'bar', bar = 'foo'; 对比 var foo = 'bar'; var bar =
我一直在尝试并查看各种命令,但似乎无法找到正确的语法; 我想合并两个 ls 命令的输出,除以 ;(分号)并将输出写入文件。 我的 ls 命令是: ls *.lst ls -d -1 $PWD/*.ls
在声明一组变量而不是分号时使用逗号有什么区别和/或优点(如果有的话)。 例如: var foo = 'bar', bar = 'foo'; 对比 var foo = 'bar'; var bar =
我是一名优秀的程序员,十分优秀!