要解决Apache POI无法获取链接URL的问题,您可以使用以下代码示例:
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.Hyperlink;
import org.apache.poi.ss.usermodel.Workbook;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadExcelFile {
public static void main(String[] args) {
String filePath = "path/to/your/excel/file.xls";
try {
FileInputStream fis = new FileInputStream(filePath);
Workbook workbook = new HSSFWorkbook(fis);
// 获取第一个工作表
HSSFSheet sheet = (HSSFSheet) workbook.getSheetAt(0);
// 遍历所有行
for (int rowIndex = 0; rowIndex <= sheet.getLastRowNum(); rowIndex++) {
HSSFRow row = sheet.getRow(rowIndex);
// 遍历所有单元格
for (int cellIndex = 0; cellIndex < row.getLastCellNum(); cellIndex++) {
HSSFCell cell = row.getCell(cellIndex);
// 检查单元格是否包含链接
if (cell != null && cell.getHyperlink() != null) {
Hyperlink hyperlink = cell.getHyperlink();
String linkURL = hyperlink.getAddress();
System.out.println("Link URL: " + linkURL);
}
}
}
workbook.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的代码中,我们首先打开Excel文件并获取第一个工作表。然后,我们遍历所有行和单元格。对于每个单元格,我们检查是否有超链接,并获取链接的URL。最后,我们关闭工作簿和文件流。
请确保将代码中的filePath
替换为实际的Excel文件路径。