我正在开发一个上传excel文件并将其值插入数据库的应用程序。
我的代码如下:
FileInputStream inputStream = new FileInputStream(excelFile);
String fileExtension = FilenameUtils.getExtension(temp1);
Workbook wb = null;
if(fileExtension.equalsIgnoreCase("xls")){
wb = new HSSFWorkbook(inputStream);
} else {
wb = new XSSFWorkbook(inputStream);
}
if (wb != null){
logger.info("Read File");
}
Sheet sheet = null;
Row row = null;
Cell cell = null;
dbConnect();
sheet = wb.getSheetAt(0);
int rows = sheet.getPhysicalNumberOfRows() + 1;
for (int y=1; y<rows; y++){
row = sheet.getRow(y);
int cells = row.getPhysicalNumberOfCells();
String sqlQuery = "INSERT INTO paycheck(" +
"paycheckId, payTitle, payEmployee, payDisDate, payBasicSalary, payIncentive, payAllowance, paySpecialAllowance, " +
"payEducation, payTotal, payTax, payOther, payAdvanced, payDeductible, payNet, payDuration, payRate)" +
"VALUES(";
for (int z=0; z<cells; z++){
cell = row.getCell(z);
if(z != cells -1){
sqlQuery += "'" + cell + "', ";
} else {
sqlQuery += cell + ")";
}
}
stmt.execute(sqlQuery);
}
dbDisConnect();
所以当我上传一个像下面这样的excel文件时,它会工作并将其数据插入db。
但是,当我上传像以下这样的excel文件时,db不会更新。
我可以问你如何解决这个问题,所以即使单元格的值是=ROUNDUP((600),2),而不是600,它仍然更新db。
提前谢谢你。
POI单元格类表示一个单元格,并提供了许多使用该单元格的方法。
当您执行sqlQuery=“'单元格',”
,您正在插入由单元格返回的值。toString()
。该值没有明确定义为执行任何操作,因此您不能依赖于它返回的内容。
你要做的是使用单元格。getStringCellValue()方法,以“将单元格的值作为字符串获取”,正如javadoc所述。
除此之外,你不想做你目前正在做的字符串连接,因为它使你的代码脆弱,容易受到SQL注入攻击,这将允许黑客窃取你的数据和/或删除你的所有表。
相反,您应该使用一个PreparedStatement,使用参数标记(?
)和方法。
我的C#. Net应用程序通过使用excel公式字符串加载和读取excel工作表单元格值。 例如,excel工作表位置和选项卡名称及其单元格行/列将作为公式字符串提供。 'D:\DataX[数据.Xls]EOD'$A5级 根据上述公式-C#应用程序加载数据。Xls,并打开EOD选项卡,应读取第5行A列值。 寻找在C#中完成的最佳方式。Net框架。
我正在使用apache POI更改excel表中的单元格。更改值后,与已更改的单元格对应的公式的单元格不会更新。 当我进入excel并单击带有公式的单元格,然后在函数栏中单击时,公式会更新。 A1仍然等于3,直到我点击那个单元格。 刷新工作簿或工作表也不起作用。这是excel或POI的问题吗?有人能想出一个变通办法吗?
我有一个带有sheet1 excel文件,该文件的第2行和第10列有一个我需要读取的值。这是我的代码。 获取了cell对象Excel.Range后,我不知道如何读取该单元格的内容。我试着把它转换成数组并在它上面循环,我试着转换成字符串数组等等,我确信这是非常简单的。有没有直接的方法只得到一个字符串的单元格值?
问题内容: 我必须将 算法从Excel工作表移植到python代码, 但必须对 Excel文件中的算法 进行 反向工程 。 Excel工作表非常复杂,它包含许多单元格,在这些单元格中有引用其他单元格的公式(也可以包含公式或常数)。 我的想法是使用python脚本分析工作表,以构建一种单元格之间的依存关系表,即: A1取决于B4,C5,E7公式:“ = sqrt(B4)+ C5 * E7” A2取决
我试图从excel文件中读取所有数据,其中也有一些公式单元格,但我不知道哪个单元格是公式单元格。如何读取单元格中的所有值,而不考虑单元格的类型。 我的代码看起来像这样 我得到的公式单元格值为0