我正在devise一个VBA脚本,将从Excel电子表格导出到CSV文件。 这将用于通过单独的Powershell脚本部署多个虚拟机。 目前,Export to CSV操作正在处理每个单元的单个虚拟机名称以及相应的设置,但是在脚本的实际执行过程中,我们可能会在一个单元中有多个虚拟机名称(用逗号分隔),但将具有相同的设置进行中的细胞。 我想知道的是,是否可以/如何去使那些由逗号分隔的单元格中的值填充单独的行,但是仍然具有CSV文件中相应标题下的设置。 代码: Function BuildValuesString(colIndex As String, rows As String) As String Dim val As Variant For Each val In Split(rows, ",") If Cells(val, colIndex) <> "" Then BuildValuesString = BuildValuesString & Cells(val, colIndex).Value & "," Next val End Function Function BuildNullStrings(numNullStrings As Long) As String Dim iNullStrings As Long For […]
与这个问题有关 ,如何将多个不同的csv文件保存到一个excel工作簿中,每个csv只有一张? 我想知道如何在Java中以编程方式执行此操作。
我想让CSV :: Writer在一个带引号的string中生成一个换行符: A,B,"Line Line",C 这样该行将显示在Excel中: A,B,Line,C Line 是否有可能阻止CSV:作家剥离换行符? 如果没有,将切换到FasterCSV解决这个问题?
我正在为应用程序中的某些数据创build“生成报告”button。 该报告将生成一个CSV文件,然后我将自动在Excel中启动。 问题是与其中一个数据字段,是文本,并具有前导零(我需要保持)。 当文件在Excel中自动打开时,Excel会自动修剪这些文件。 无论如何,我可以得到它,以打开我想要的格式的数据。 我知道你通过在Excel中打开CSV文件来实现这一点,并可以执行导入向导。 所以一个可能的解决scheme是在应用程序启动这个文件时自动打开导入向导。 我不知道这是否可能。 谢谢阅读。
背景: 我们有一个Web应用程序,用户可以以csv格式导出订单。 对于安装了Microsoft Excel的用户,它是默认程序。 他们只需在下载文件后点击“打开”即可。 用户主要使用Internet Explorer,Firefox和Chrome。 行为没有差异。 问题: 如果用户只是打开csv文件(从浏览器或资源pipe理器)文件是由Excel打开和数据加载自动。 但是有时候行只是丢失了。 不见了。 没有例外,没有消息,什么都没有。 数据在那里,如果你用记事本打开文件,你会看到它。 (我怀疑它与特殊字符,引号,逗号等有关,但我找不到这个根源) 如何使其工作: 如果你保存文件到磁盘,打开excel并selectFile -> Open -> Format: Textfiles (*.prn, *.txt, *.csv, *.skv) -> Open excel将启动导入向导,一切将完美地工作。 有什么我可以做的导出文件强制导入向导或只是告诉Excel不排除我们的关键订单信息没有警告?
我正在使用csvparsing器类(http://code.google.com/p/php-csv-parser/)parsing和提取csv文件中的数据。 我遇到的问题是,它只适用于某些csv文件types。 (似乎有一个csvtypes的Mac,对于Ms-Dos和Windows。) 代码的作品,如果我使用csv文件保存在Mac(在Excel中)使用CSV – Windows选项。 但是,如果我将一个文件保存在Windows机器上,就像csv一样,那是行不通的。 (你可能会认为这与在Mac上保存csv-windows的格式是一样的。)如果我将它保存为csv-MSDOS文件,它可以在Windows机器上运行。 这似乎有点荒谬。 有没有办法来标准化这三种文件types,以便我的代码可以读取上传的任何types的csv? 我在想这将是这样的事情: $standardizedCSV = preg_replace_all('/\r[^\n]/', '\r\n', $csvContent); 我知道这与每个文件types如何处理行尾是有关系的,但是我有点努力弄清楚这些差异。 如果有人有任何build议,请让我知道。 谢谢。 更新:这是我使用的csvparsing器的相关代码,它逐行提取数据: $c = 0; $d = $this->settings['delimiter']; $e = $this->settings['escape']; $l = $this->settings['length']; $res = fopen($this->_filename, 'r'); while ($keys = fgetcsv($res, $l, $d, $e)) { if ($c == 0) { $this->headers = $keys; } else { […]
我有一个CSV文件,其中一列是存储一些帐号文本,如99010124450000237 ,但是,当我尝试将其保存到Excel,它始终将格式数字99010124450000200 ,最后2位数被舍入。 这是如此令人讨厌,因为实际上我只是希望帐号是文本字段,但Excel总是将其作为一个数字,更糟的是,它是四舍五入的。 任何人都有相同的精确点,也许一些build议? 我试图格式化列到一个特定的格式,并试图导入数据。 两种方法都不起作
即时通讯非常新的C ++,并试图找出如何读取CSV文件到一个向量。 到目前为止,一切都很好,除了我不知道如何避免在每个CSVlogging结束的换行符。 inheritance人我的代码: #include <fstream> #include <iostream> #include <sstream> #include <string> #include <vector> // stream input operator overloaded to read a list of CSV fields std::istream &operator >> (std::istream &ins, std::vector<std::string> &record) { record.clear(); // read the entire line into a string std::string line; std::getline(ins, line); // using a stringstream to separate the fields […]
我有一个parsing眼动仪输出的大量文件的程序。 原始文件以文本格式显示给我,但我需要一个CSV文件来进行数据分析。 我一直在做的是在Excel中打开文本文件,将其保存为.csv文件,然后通过parsing器运行。 这工作正常,但是很费力,所以我想创build一段代码在我的parsing器的开始处运行:将原始文本文件转换为CSV文件,然后在刚刚创build的parsing器上运行CSV文件。 我试图使用的代码如下,并从这里修改: txt_file = subjectNum + ".asc" csv_file = "subject_" + subjectNum + ".csv" in_txt = csv.reader(open(txt_file, "r"), delimiter = '\t') out_csv = csv.writer(open(csv_file, 'w')) out_csv.writerows(in_txt) 这会生成一个文件,但是parsing器却无法像在通过Excel进行转换时所获得的“手动生成”文件那样处理它。 parsing器确实创build了这些文件,但它们是空的。 另外,我的源文件是17.8mb。 当我使用Excel将其转换为CSV时,生成的文件为16mb,包含237,218行。 当我使用上面的代码将文本文件转换为CSV时,生成的文件是17.8mb和236,104行。 这似乎是我在上面的代码中缺less的东西,当我用Excel手动转换时发生。
我一直在使用一个外部的.csv文件作为源的数据透视表的问题,特别是在csv文件中的date被视为文本。 所以,我决定将csv文件导入到另一个工作表中,然后通过重新格式化相关列强制date被识别。 我现在遇到的问题是将现有数据透视表更改为使用新工作表中的数据而不是外部源。 如果点击“更改数据源”button,“select表格或范围”选项将变灰。 如果我继续使用外部数据源,然后单击“select连接”button并select新工作表,则会popup一个对话框,提示“所选连接的types不能用于创build数据透视表”。 我也尝试将csv文件转换为xlsx,但有一个类似的问题试图让现有的数据透视表使用它而不是csv作为其源。