This happens after upgrading from Driver version 226 to 240. It seems only to happen when a new Sheet is created without resizing any column.
Error happens when issueing a select statement or when querying meta data.
Stacktrace:
ava.lang.NullPointerException: Cannot invoke "com.caigen.global.ap.case()" because "this.aI" is null
at com.hxtt.sql.excel.dk.a(Unknown Source) ~[sql.excel-6.1.240.jar:6.1.240 on July 26, 2023]
at com.hxtt.sql.excel.dk.a(Unknown Source) ~[sql.excel-6.1.240.jar:6.1.240 on July 26, 2023]
at com.hxtt.sql.excel.cd.a(Unknown Source) ~[sql.excel-6.1.240.jar:6.1.240 on July 26, 2023]
at com.hxtt.sql.excel.cd.a(Unknown Source) ~[sql.excel-6.1.240.jar:6.1.240 on July 26, 2023]
at com.hxtt.sql.excel.cd.a(Unknown Source) ~[sql.excel-6.1.240.jar:6.1.240 on July 26, 2023]
at com.hxtt.sql.c7.F(Unknown Source) ~[sql.excel-6.1.240.jar:?]
at com.hxtt.sql.a6.a(Unknown Source) ~[sql.excel-6.1.240.jar:?]
at com.hxtt.sql.cu.S(Unknown Source) ~[sql.excel-6.1.240.jar:?]
at com.hxtt.sql.cu.a(Unknown Source) ~[sql.excel-6.1.240.jar:?]
at com.hxtt.sql.b4.a(Unknown Source) ~[sql.excel-6.1.240.jar:?]
at com.hxtt.sql.b4.try(Unknown Source) ~[sql.excel-6.1.240.jar:?]
at com.hxtt.sql.a.getColumns(Unknown Source) ~[sql.excel-6.1.240.jar:?]
at de.gtt.configDB.databinding.SqlDataBinding.reloadTablesForSchema(SqlDataBinding.java:186) ~[classes/:?]
Example code:
package com.hxxt.sql.excel.ExcelDriver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class LoadExcelTest {
public static void loadExampleExcel(String excelPath) throws ClassNotFoundException, SQLException {
String jdbcUrl = String.format("jdbc:excel:/%s", excelPath);
String username = "";
String password = "";
// Load the HXTT Excel JDBC driver
Class.forName("com.hxtt.sql.excel.ExcelDriver");
// Create an SQL query to retrieve data from the Excel file
String query = "SELECT * FROM Tabelle1";
// Create a connection to the Excel file
// Execute the query and get the result
try (Connection connection = DriverManager.getConnection(jdbcUrl, username, password);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query)) {
// Process the result and print the data
while (resultSet.next()) {
String aData = resultSet.getString("A");
String bData = resultSet.getString("B");
String cData = resultSet.getString("C");
System.out.println("A: " + aData + ", B: " + bData + ", C: " + cData);
}
}
}
/**
* This method shows that loading an Excel file will fail if its columns have
* never been resized.
*/
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// TODO: Adjust the file path to your Excel file
String path = "C:\\Datenbanken\\excel\\";
// This call is working
loadExampleExcel(path + "SimpleExcel_ResizedColumn.xlsx");
// This call fails with a NullPointerException:
loadExampleExcel(path + "SimpleExcel.xlsx");
}
}
Is there any way to provide you the excel files?
|
Please send your xlsx sample to support@hxtt.com .
|