- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在 xls 文件或 csv 文件中写入测试用例名称和结果。我已使用现有文件并将结果写入现有文件,它在行 * cell=row.getCell(0); 上返回 NULL 指针异常; *
下面给出我的代码..
package com.testCases;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import com.test.utility.PrintResultinExcel;
import com.test.utility.ReadExcelSheet;
import com.test.utility.clearText;
import com.test.utility.clickEvent;
import com.test.utility.globalVariables;
import com.test.utility.selectCheckbox;
import com.test.utility.text;
import com.test.utility.verifyText;
import com.test.utility.writeExcel;
public class SQLInject extends globalVariables{
public static void sqlinjection() throws InterruptedException, IOException{
ArrayList<HashMap> data = ReadExcelSheet.readExcel("Sheet1");
int size = data.size();
System.out.println("Total Number of Keywords: "+size);
for(int i=0;i<=size-1;i++){
clickEvent.clickAt("allcustomers_linkText");
Thread.sleep(2000);
clickEvent.clickAt("sqlquery_xpath");
Thread.sleep(2000);
String keyword = data.get(i).get("Keywords").toString();
text.enterText("sql_id", keyword);
clickEvent.clickAt("sqlsearchbutton_id");
verifyText.verify("SQL statement does NOT contain valid keywords.");
String result="PASS";
PrintResultinExcel.excelLog(keyword, result, i);
}
}
}
实用程序文件:
package com.test.utility;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
public class PrintResultinExcel extends globalVariables {
public static void excelLog(String keyword, String result, int rowNum) {
try {
FileInputStream file = new FileInputStream(new File("D:\\testexcel.xls"));
HSSFWorkbook workbook = new HSSFWorkbook(file);
HSSFSheet sheet = workbook.getSheetAt(0);
// Find empty cell
HSSFRow row = sheet.getRow(rowNum);
Cell cell = null;
cell=row.getCell(0);
cell.setCellValue(keyword);
cell=row.getCell(1);
cell.setCellValue(result);
// Update the value of cell
file.close();
FileOutputStream outFile = new FileOutputStream(new File("D:\\testexcel.xls"));
workbook.write(outFile);
outFile.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
最佳答案
将数据添加到WorkBook
并将其保留在内存中。数据添加完成后,将其写入文件。
示例代码
package com.test.utility;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class writeExcel extends globalVariables {
private static String dest = "D:\\testexcel.xls";
private static HSSFWorkbook myWorkBook = new HSSFWorkbook();
private static HSSFSheet mySheet = myWorkBook.createSheet();
public static void excelLog(String keyword, String result, int rowNum) {
HSSFRow myRow = null;
HSSFCell myCell = null;
myRow = mySheet.createRow(rowNum);
myCell = myRow.createCell(0);
myCell.setCellValue(keyword);
myCell = myRow.createCell(1);
myCell.setCellValue(result);
}
public static void main(String[] args) {
for (int i = 1;i <= 100;i++) {
excelLog("Exec" + i, "PASS" + i, i);
}
try {
FileOutputStream out = new FileOutputStream(dest);
myWorkBook.write(out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
编辑:
您的文件/工作簿/工作表/行/单元格可能不存在。所以有必要处理所有的情况。
查看 HSSFSheet.getRow(int rowNum) 的文档.
这里是执行相同操作的更新代码:
package com.test.utility;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
public class writeExcel {
public static void main(String[] args) {
for (int i = 0; i < 100; i++) {
excelLog("Exec" + i, "PASS" + i, i);
}
}
public static void excelLog(String keyword, String result, int rowNum) {
String fileName = "testexcel.xls";
try {
File f = new File(fileName);
HSSFWorkbook workbook = getWorkBook(f);
HSSFSheet sheet = getSheet(workbook);
HSSFRow row = getRow(sheet, rowNum);
// Find empty cell
Cell cell = null;
cell = getCell(row, 0);
cell.setCellValue(keyword);
cell = getCell(row, 1);
cell.setCellValue(result);
// Update the value of cell
workbook.close();
FileOutputStream outFile = new FileOutputStream(new File(fileName));
workbook.write(outFile);
outFile.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private static Cell getCell(HSSFRow row, int cellNum) {
Cell cell = row.getCell(cellNum);
if (cell == null) {
cell = row.createCell(cellNum);
}
return cell;
}
private static HSSFRow getRow(HSSFSheet sheet, int rowNum) {
HSSFRow row = sheet.getRow(rowNum);
if (row == null) {
row = sheet.createRow(rowNum);
}
return row;
}
private static HSSFSheet getSheet(HSSFWorkbook workbook) {
HSSFSheet sheet = null;
try {
sheet = workbook.getSheetAt(0);
} catch (Exception e) {
sheet = workbook.createSheet();
}
return sheet;
}
private static HSSFWorkbook getWorkBook(File f) throws IOException {
FileInputStream file = null;
HSSFWorkbook workbook = null;
if (f.exists()) {
file = new FileInputStream(f);
workbook = new HSSFWorkbook(file);
} else {
workbook = new HSSFWorkbook();
}
return workbook;
}
}
关于java - 需要将结果写入 Xls 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30029055/
我正在使用 Python 2.76 向 .aspx 网页提交查询并通过 BeautifulSoup 获取结果,并希望将它们存储到 Excel 电子表格中。 import mechanize impor
我正在学习使用 Hadoop 执行大数据相关操作。 我需要对拆分为 8 个 xls 文件的数据集集合执行一些查询。每个 xls 文件都有多个工作表,查询只涉及其中一个工作表。 数据集可以在这里下载:h
我有一个 excel 文件,但文件大小太大,您有什么建议可以让我们以相同的格式减小文件大小吗? 最佳答案 有一些常见技巧可以减小 Excel 文档的大小,同时保持 Excel 格式。这取决于文件的具体
我有多个目录,每个目录包含任意数量的 .xls 文件。我想获取任何给定目录中的文件并将它们合并到一个 .xls 文件中,使用文件名作为选项卡名称。例如,如果有文件 NAME.xls、AGE.xls、L
使用下面的 Python 测试代码,我试图将 Excel (*.xls) 文件中唯一的工作表复制到一个包含一个工作表的新 Excel 文件中。 输入电子表格如下所示: from copy import
我有一个 xls 文件,其中包含 15 张数据,我想将所有数据复制到另一个 xls 文件中。我有很多这样的文件,所以我想使用宏 vba 编码对其进行自定义。我想在第一张纸上设计按钮,它会运行宏代码并将
我正在尝试从 xls 中读取数据,该数据运行良好 java.io.File f1=new java.io.File("E:/SELENIUM DATA/First_P1/DATA_SHEET.x
我有一个文件 .XLS 扩展名,但保存为 XMl 电子表格 2003 ,想要读取该文件并使用 java 代码将其转换为 .XLS 扩展名,我的代码如下 - 公共(public)类 ExcelImpor
我已经创建了 Servlet,它下载 POI XLS 文件,在第一个 get/post 请求时,新文件是使用sheet0下载的。当我执行第二个请求时,正在下载两张新文件,sheet0 是上一个请求,s
我有大量格式为:YYYYDDMM_rest_of_filename.xls 的 excel 文件 我如何使用 ruby 在 YYYYMMDD_rest_of_filename.xls 的可能数量较
我将 xlsx 文件保存在 firefox 中,浏览器将其识别为 97-2003 工作簿 (.xls) 当我打开 xls 文件时,它会生成弹出窗口 我也在不同的机器上尝试过这个,它在 firefox
伙计们。我在 DB 有日期作为字符串“d/m/Y”。 当我将此日期输入 Excel 时,它会显示正常日期,例如 2000 年 3 月 10 日,但是当我单击单元格时,它会显示值 '03/10/2000
我正在研究 INFORMIX 4GL 程序。该程序生成输出文本文件。这是输出的示例: Lot No|Purchaser name|Billing|Payment|Deposit|Balance|
代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%
我的应用程序正在从 MYSQL 动态获取数据并显示。问题是我什至必须选择“导出到 Xls”文件。这些文件应该是 A4 大小,所以我应该自定义 Xls 文件中内容的字体大小以适应 A4 大小。如果可能的
我必须运行一些 SQL 查询并将结果放入电子表格中。由于我处于 Spring/Java 环境中,因此我打算使用 JDBC 运行查询、迭代 ResultSet,并使用 Jakarta POI 创建一个简
我有一个包含多张工作表的 Excel 电子表格。格式如下: Date A B C D E F
我正在使用 jquery 数据表插件来显示数据。我添加了文件另存为 excel、csv 和 pdf 的选项。 虽然它允许我将表格内容保存为文件。但在 excel 和 csv 情况下,它都会将文件保存为
我正在尝试弄清楚如何读取 XLS 文档的内容并且我能够很好地获取字节,但我不知道从这里到哪里去。尝试 [[NSString alloc] initWithBytes:data.bytes length
在我的应用程序中,我需要以预定义格式导出到 xls 文件。 所以我刚刚集成了 php_excel2007。我正在使用一个具有预定义格式的模板。 问题 这里的单元格数据可能会动态变化。如果数据远大于单元
我是一名优秀的程序员,十分优秀!