- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 Excel 的内容创建文件夹。我能够读取包含正确数据的 Excel 文件,但无法从该数据创建文件夹。
到目前为止我编写的代码:
public static void main(String[] args) {
try {
InputStream ExcelFileToRead = new FileInputStream("C:\\Users\\430427\\Desktop\\vivek.xlsx");
XSSFWorkbook wb = new XSSFWorkbook(ExcelFileToRead);
XSSFWorkbook test = new XSSFWorkbook();
XSSFSheet sheet = wb.getSheetAt(0);
XSSFRow row;
XSSFCell cell;
Iterator rows = sheet.rowIterator();
while (rows.hasNext()) {
row = (XSSFRow) rows.next();
Iterator cells = row.cellIterator();
int i = 0;
while (cells.hasNext()) {
cell = (XSSFCell) cells.next();
XSSFCell cell2 = row.getCell(i);
i++;
if(cell2 !=null){
//if(cell2.toString().replaceAll("\\s", "").length()>0)
System.out.print("/"+cell2);
String dirName = "C:\\Users\\430427\\Desktop\\"+cell2;
new File(dirName).mkdir();
}
}
System.out.println();
i = 0;
}
System.out.println("\n");
}
catch (IOException ex) {
ex.printStackTrace();
}
}
最佳答案
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html
cell2 是 XSSFCell
对象,而不是字符串。
尝试在 String dirName = "C:\\Users\\430427\\Desktop\\"+cell2;
中使用 cell2.getStringCellValue()
来获取字符串值。
我建议您应该从代码中获取用户配置文件,而不是对路径进行硬编码。
<小时/>编辑:
apache poi 中没有columnIterator。所以我想出了另一种方法。这段代码仅对您的情况有意义(第一列只有一行,最后一列只有一行或多行),就像您在评论中所说的那样:
The data is like CALEG in A1,101 in B1,html in C1,Title A,Title B,Title C,Title D in D1,D2,D3,D4 respectively.
我希望能给您一些实现您需要的想法。
public static void main(String[] args) {
XSSFWorkbook wb = null;
try {
// input file path here
InputStream ExcelFileToRead = new FileInputStream("D:\\test.xlsx");
wb = new XSSFWorkbook(ExcelFileToRead);
XSSFSheet sheet = wb.getSheetAt(0);
XSSFRow row;
XSSFCell cell;
Iterator<Row> rows = sheet.rowIterator();
// destination path here
String dirName = "D:\\tmp";
String parentPath = null;
int lastCellIdx = 0;
while (rows.hasNext()) {
row = (XSSFRow) rows.next();
if (lastCellIdx != 0) {
new File(parentPath + "\\" + row.getCell(lastCellIdx).toString()).mkdir();
} else {
Iterator<Cell> cells = row.cellIterator();
while (cells.hasNext()) {
cell = (XSSFCell) cells.next();
if (cell != null) {
dirName = dirName + "\\" + cell.toString();
}
}
lastCellIdx = row.getLastCellNum() - 1;
parentPath = new File(dirName).getParent();
new File(dirName).mkdirs();
}
}
} catch (IOException ex) {
ex.printStackTrace();
} finally {
try {
wb.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
关于java - 如何使用 java 创建 Excelsheet 中数据的文件夹和子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29003628/
所以,有时当我尝试执行此命令时,它会给我一个错误。问题是它非常不一致。在某些情况下,它有效,而在其他情况下,它就不起作用。 这是来自 getCellVal 函数的行。 cellName 是一个字符串,
我正在学习 Python,我想创建一个文件夹来存储我的 Excel 工作表。 使用 create_dir() 我正在创建一个文件夹 def create_dir(directory): if
我正在开发 Java 应用程序以将一些详细信息发送到服务器。我需要在我的应用程序中显示 Excel 工作表。我想知道 Java 中有可用的 jar 文件(或)插件来显示应用程序内的 Excel 工作表
我是 VBA 新手,在 excel 上使用 VBA 并编写一个宏来每行导出一个 xml 文件(参见打印屏幕中的示例)。 不幸的是,我收到以下错误 Run-time error '2147024891
需要解决我的痛苦。以下代码有效,但问题是它将空白空间显示为完整站点。我想知道是否可以“缩小”它? 收缩应该从@列“F”开始 这是代码: Private Sub CommandButton1_Click
我创建了一个包含大约 50 个工作表的 Excel 文件。所有信息都在第一个工作表的摘要中,但有关详细信息,人们可以检查工作表中的源。 我认为最好有一个工作表的内部链接(人们想知道为什么 2016 年
我想追加 Pandas 数据框的内容df到excel表。 这就是我所做的; df.to_excel(excel_writer="target.xlsx", sheet_name="sheet_1")
嗨,我正在使用 BIRT 和新的,我陷入了这种情况,请任何人帮助理解我的假设有什么问题.. 上图是我的报告布局,我试图获得三个主题的总数,因此在计算列 JavaScript 函数的帮助下,我计算了总数
我有一个类,所有测试都写在其中。我在 XL 表中有 3 个值,其中 test1 和 test2 应使用数据表中的第一个值执行,然后使用数据表中的第二个值执行。 但现在使用下面的代码 test1 将使用
我正在尝试使用 Excel 的内容创建文件夹。我能够读取包含正确数据的 Excel 文件,但无法从该数据创建文件夹。 到目前为止我编写的代码: public static void main(Stri
我想在我的 python 脚本中从 excelsheet 中获取特定的单元格值。我遇到了用于读取/写入 Excelsheet 的 xlrd、xlwt、xlutils 模块。 我在第一列的 3 个单元格
我正在使用asp.net的FileUpload控件并上传带有一些数据的Excel。我无法将其保存在某个文件夹中。我可以拥有 Excel 工作表文件流,也可以在将 Excel 作为 Blob 上传后拥有
您好,我正在尝试使用 HSSFWorkbook 将 Jtable 数据导出到 Excel 工作表中。我得到了表中的所有内容,但没有得到表标题,请任何人提供同样的帮助。 这里是用于获取 Jtable 内
您好,我是 postgreSql 的新手。我想导入带有列名称/标题的 excel 工作表,因为 excel 工作表有将近 80-100 列,我无法创建包含如此大量列的表,然后将相同的数据复制到表中。所
下面的代码片段将结果集数据导出到 excel 文件,但它不会创建标题。我用过 HSSFRow rowhead = sheet.createRow((short) 0);创建标题,但创建的 Excel
我有一个 excel 文件,其中包含名为 Data 的工作表。此工作表已包含少量数据。我需要打开这个文件并在其中添加更多数据。我试过搜索这个,但每个人都只是在他们的工作簿中创建新工作表。我需要更新当前
我有两个疑问如下:- 1) 下面是我的代码,用于查找本地计算机中的总磁盘空间、可用和已用磁盘空间。我想将这些值导出到新创建的 Excel 工作表中的三列总磁盘空间、可用磁盘空间和已用磁盘空间下。 但在
我在asp.net应用程序中实现了导出到excel的功能。这里我将数据从 GridView 导出到excel表。我还在 GridView 中应用了分页。 因此,当我将数据从 GridView 导出到
您好,我主要将英语和德语字符保存到当前设置为 utf-8 字符集的 mysql 数据库中。 我假设我应该为这种类型的数据使用 latin1 字符集,对吗? 如果是这样,我如何更改字符集以更正现在保存在
我想在 VB 中比较 2 个 Excel 表格。 我知道如何在 QTP/UFT 中打开这些表格 我知道如何获取所有单元格的范围。 但我不知道比较这两张纸(范围)的有效方法。 如果第二张表中的值与第一张
我是一名优秀的程序员,十分优秀!