标签: xlsx

使用命令行在Linux中将xlsx转换为csv

我正在寻找一种方法将xlsx文件转换为Linux上的csv文件.

我不想使用PHP/Perl或类似的东西,因为我正在寻找处理数百万行,所以我需要一些快速的东西.我在Ubuntu repos上找到了一个名为xls2csv的程序,但它只会转换xls(Office 2003)文件(我目前正在使用),但我需要支持更新的Excel文件.

有任何想法吗?

linux csv excel converter xlsx

242
推荐指数
10
解决办法
22万
查看次数

Excel"外部表格不是预期的格式".

我正在尝试使用下面显示的代码读取Excel(xlsx)文件.我得到一个"外部表不是预期的格式." 错误,除非我已在Excel中打开该文件.换句话说,我必须首先在Excel中打开文件,然后才能从我的C#程序中读取.xlsx文件位于我们网络上的共享中.如何在不先打开文件的情况下读取文件?谢谢

string sql = "SELECT * FROM [Sheet1$]";
string excelConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathname + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;\"";

using (OleDbDataAdapter adaptor = new OleDbDataAdapter(sql, excelConnection)) {
    DataSet ds = new DataSet();
    adaptor.Fill(ds);
}
Run Code Online (Sandbox Code Playgroud)

c# excel-2007 xlsx import-from-excel

160
推荐指数
5
解决办法
34万
查看次数

将Excel文件导入R,xlsx或xls

请有人帮助我将excel 2007(.xlsx)文件导入R的最佳方法.我尝试了几种方法,但似乎都没有.我已升级到2.13.1,Windows XP,xlsx 0.3.0,我不知道为什么错误不断出现.我试过了:

AB<-read.xlsx("C:/AB_DNA_Tag_Numbers.xlsx","DNA_Tag_Numbers")
Run Code Online (Sandbox Code Playgroud)

要么

AB<-read.xlsx("C:/AB_DNA_Tag_Numbers.xlsx",1)
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

 Error in .jnew("java/io/FileInputStream", file) : 
  java.io.FileNotFoundException: C:\AB_DNA_Tag_Numbers.xlsx (The system cannot find the file specified)
Run Code Online (Sandbox Code Playgroud)

谢谢.

xls r xlsx

85
推荐指数
8
解决办法
26万
查看次数

从R写入Excel时处理java.lang.OutOfMemoryError

xlsx软件包可用于从R读取和写入Excel电子表格.不幸的是,即使对于中等大小的电子表格,java.lang.OutOfMemoryError也可能发生.特别是,

library(xlsx)
set.seed(19790801)
n_sheets <- 40
the_data <- replicate(
  n_sheets,
  {
    n_rows <- sample(2e5, 1)
    data.frame(
      x = runif(n_rows),
      y = sample(letters, n_rows, replace = TRUE)
    )
  },
  simplify = FALSE
)
names(the_data) <- paste("Sheet", seq_len(n_sheets))
Run Code Online (Sandbox Code Playgroud)

(其他相关的例外也是可能的,但更罕见.)

在阅读电子表格时,有人提出了类似的问题.

将大型xlsx文件导入R?

使用Excel电子表格作为CSV上的数据存储介质的主要优点是,您可以在同一文件中存储多个工作表,因此我们在此处考虑每个工作表要写入一个数据框的数据框列表.此示例数据集包含40个数据框,每个数据框具有两列,最多200k行.它设计得足够大,有问题,但你可以通过改变n_sheets和改变大小n_rows.

wb <- createWorkbook()  
for(i in seq_along(the_data))
{
  message("Creating sheet", i)
  sheet <- createSheet(wb, sheetName = names(the_data)[i])
  message("Adding data frame", i)
  addDataFrame(the_data[[i]], sheet)
}
saveWorkbook(wb, "test.xlsx")  
Run Code Online (Sandbox Code Playgroud)

将此文件写入文件的自然方法是使用创建工作簿createWorkbook,然后循环遍历每个数据框调用createSheetaddDataFrame.最后,可以使用工作簿将文件写入文件 …

r xlsx

78
推荐指数
2
解决办法
5万
查看次数

将大型xlsx文件导入R?

我想知道是否有人知道从"大"xlsx文件(~20Mb)导入数据的方法.我尝试使用xlsx和XLConnect库.不幸的是,两者都使用rJava,我总是得到同样的错误:

> library(XLConnect)
> wb <- loadWorkbook("MyBigFile.xlsx")
Error: OutOfMemoryError (Java): Java heap space
Run Code Online (Sandbox Code Playgroud)

要么

> library(xlsx)
> mydata <- read.xlsx2(file="MyBigFile.xlsx")
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
   java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)

我还尝试在加载rJava之前修改java.parameters:

> options( java.parameters = "-Xmx2500m")
> library(xlsx) # load rJava
> mydata <- read.xlsx2(file="MyBigFile.xlsx")
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
   java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)

或者在加载rJava之后(我认为这有点愚蠢):

> library(xlsx) # load rJava
> options( java.parameters = "-Xmx2500m")
> mydata <- read.xlsx2(file="MyBigFile.xlsx")
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
   java.lang.OutOfMemoryError: …
Run Code Online (Sandbox Code Playgroud)

excel r xlsx

68
推荐指数
6
解决办法
9万
查看次数

R:将多个data.frame导出到多个excel工作表的简便方法?

我很惊讶地发现没有简单的方法将多个data.frame导出到excel文件的多个工作表中?我试过xlsx包,看来它只能写一张表(覆盖旧表); 我也试过WriteXLS包,但它一直给我错误...

我的代码结构是这样的:按照设计,对于每次迭代,输出数据帧(tempTable)和sheetName(sn)都已更新并导出到一个选项卡中.

for (i in 2 : ncol(code)){ 
        ...
        tempTable <- ...
        sn <- ...
        WriteXLS("tempTable", ExcelFileName = "C:/R_code/../file.xlsx",
              SheetNames = sn);
}
Run Code Online (Sandbox Code Playgroud)

我可以导出到几个cvs文件,但在excel中必须有一个简单的方法,对吧?

提前致谢.

excel r xlsx

61
推荐指数
8
解决办法
11万
查看次数

与xlsx包和choose.files冲突

我在加载xlsx包和使用choose.files时遇到了一个奇怪的问题.

一旦我将RStudio更新到最新版本(v0.97.237),就会出现此问题.如果我启动RStudio然后加载xlsx(即library(xlsx))包加载就好了.但是,如果我尝试使用choose.files(),RStudio会冻结(实际上它会持续运行,无法在不使用Win7任务管理器结束的情况下关闭).如果我启动RStudio并首先使用choose.files,它可以正常工作.如果我然后运行该library(xlsx)行,xlsx包将不会加载.它给出了下面的错误.

我已经尝试重新安装xlsx包(以及xlsxjars和rJava),但这不起作用.也没有重新安装Java.

有什么建议?我正在使用R v2.15.2.

library(xlsx)  
Loading required package: xlsxjars  
Loading required package: rJava  
Error occurred during initialization of VM  
Could not reserve enough space for object heap  
Error : .onLoad failed in loadNamespace() for 'xlsxjars', details:  
  call: .jinit()  
  error: Cannot create Java virtual machine (-4)  
Error: package ‘xlsxjars’ could not be loaded  
Run Code Online (Sandbox Code Playgroud)

编辑:这是问题所在.对不起任何困惑.当我输入这个:

filename<-file.choose() #select file
library(xlsx)
mydata<-read.xlsx(filename,1) #load datafile
Run Code Online (Sandbox Code Playgroud)

我可以成功选择文件名,但xlsx包无法加载,因此我无法打开数据文件.我得到上面的错误.但是,如果我改为运行它(在我关闭并重新启动RStudio之后):

library(xlsx)
filename<-file.choose() #select file
mydata<-read.xlsx(filename,1) #load datafile
Run Code Online (Sandbox Code Playgroud)

xlsx包正确加载,但file.choose导致R无限期运行,因此脚本冻结,我无法加载我的文件.这也是使用的情况choose.files().我不知道为什么这两件事(xlsx和 …

java r xlsx rstudio

45
推荐指数
1
解决办法
5277
查看次数

使用批处理将xlsx文件转换为csv

如何使用批处理脚本将多个xlsx文件转换为csv文件?

csv excel batch-file xlsx

44
推荐指数
6
解决办法
9万
查看次数

如何从其内部子组件正确组装有效的xlsx文件?

我正在尝试在iOS上以编程方式创建xlsx文件.由于xlsx文件的内部数据基本上存储在单独的xml文件中,因此我尝试使用其所有文件和子目录重新创建xlsx结构,将它们压缩为zip文件并将其扩展名设置为xlsx.我使用GDataXML解析器/编写器来创建所有必需的xml文件.但是,我得到的文件无法作为xlsx文件打开.即使我从有效的xlsx文件中删除所有数据,也可以通过从原始xml文件复制数据并手动压缩来手动创建所有xml文件,但我无法重新创建有效的xlsx文件.

问题是:

  • 是xlsx真的只是一个包含xml文件的存档吗?
  • 如果我不能将xml文件压缩为zip文件并将其扩展名设置为xlsx,如何以编程方式创建有效的xlsx文件?

xml zip xlsx

43
推荐指数
2
解决办法
3万
查看次数

使用Node解析XLSX并创建json

好的,所以我发现这个记录非常好,node_module名为js-xlsx

问题: 如何解析xlsx以输出json

以下是Excel工作表的样子:

在此输入图像描述

最后,json应如下所示:

[
   {
   "id": 1,
   "Headline": "Team: Sally Pearson",
   "Location": "Austrailia",
   "BodyText": "...",
   "Media: "..."
   },
   {
   "id": 2,
   "Headline": "Team: Rebeca Andrade",
   "Location": "Brazil",
   "BodyText": "...",
   "Media: "..."
   }
]
Run Code Online (Sandbox Code Playgroud)

index.js:

if(typeof require !== 'undefined') {
    console.log('hey');
    XLSX = require('xlsx');
}
var workbook = XLSX.readFile('./assets/visa.xlsx');
var sheet_name_list = workbook.SheetNames;
sheet_name_list.forEach(function(y) { /* iterate through sheets */
  var worksheet = workbook.Sheets[y];
  for (z in worksheet) {
    /* all keys that do …
Run Code Online (Sandbox Code Playgroud)

javascript excel json xlsx node.js

43
推荐指数
4
解决办法
7万
查看次数

标签 统计

xlsx ×10

excel ×5

r ×5

csv ×2

batch-file ×1

c# ×1

converter ×1

excel-2007 ×1

import-from-excel ×1

java ×1

javascript ×1

json ×1

linux ×1

node.js ×1

rstudio ×1

xls ×1

xml ×1

zip ×1