HTML files often contain valuable datasets embedded within tables. However, analyzing this data directly in HTML can be cumbersome and inefficient. Converting HTML tables to Excel format allows you to take advantage of Excel's powerful data manipulation and analysis tools, making it easier to sort, filter, and visualize the information. Whether you need to analyze data for a report, perform calculations, or simply organize it in a more user-friendly format, converting HTML to Excel streamlines the process. In this article, we will demonstrate how to convert HTML files to Excel format in Java using Spire.XLS for Java.
Install Spire.XLS for Java
First of all, you're required to add the Spire.Xls.jar file as a dependency in your Java program. The JAR file can be downloaded from this link. If you use Maven, you can easily import the JAR file in your application by adding the following code to your project's pom.xml file.
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.xls</artifactId> <version>14.9.8</version> </dependency> </dependencies>
Convert HTML to Excel in Java
Spire.XLS for Java provides the Workbook.loadFromHtml() method for loading an HTML file. Once the HTML file is loaded, you can convert it to Excel format using the Workbook.saveToFile() method. The detailed steps are as follows.
- Create an object of the Workbook class.
- Load an HTML file using the Workbook.loadFromHtml() method.
- Save the HTML file in Excel format using the Workbook.saveToFile() method.
- Java
import com.spire.xls.ExcelVersion; import com.spire.xls.Workbook; public class ConvertHtmlToExcel { public static void main(String[] args) { // Specify the input HTML file path String filePath = "C:\\Users\\Administrator\\Desktop\\Sample.html"; // Create an object of the workbook class Workbook workbook = new Workbook(); // Load the HTML file workbook.loadFromHtml(filePath); // Save the HTML file in Excel XLSX format String result = "C:\\Users\\Administrator\\Desktop\\ToExcel.xlsx"; workbook.saveToFile(result, ExcelVersion.Version2013); workbook.dispose(); } }
Insert HTML String into Excel in Java
In addition to converting HTML files to Excel, Spire.XLS for Java allows you to insert HTML strings directly into Excel cells using the CellRange.setHtmlString() method. The detailed steps are as follows.
- Create an object of the Workbook class.
- Get a specific worksheet by its index (0-based) using the Workbook.getWorksheets().get(index) method.
- Get the cell that you want to add an HTML string to using the Worksheet.getCellRange() method.
- Add an HTML sting to the cell using the CellRange.setHtmlString() method.
- Save the resulting workbook to a new file using the Workbook.saveToFile() method.
- Java
import com.spire.xls.CellRange; import com.spire.xls.ExcelVersion; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class InsertHtmlStringInExcelCell { public static void main(String[] args) { // Create an object of the workbook class Workbook workbook = new Workbook(); // Get the first sheet Worksheet sheet = workbook.getWorksheets().get(0); // Specify the HTML string String htmlCode = "<p><font size='12'>This is a <b>paragraph</b> with <span style='color: red;'>colored text</span>.</font></p>"; // Get the cell that you want to add the HTML string to CellRange range = sheet.getCellRange("A1"); // Add the HTML string to the cell range.setHtmlString(htmlCode); // Auto-adjust the width of the first column based on its content sheet.autoFitColumn(1); // Save the resulting workbook to a new file String result = "C:\\Users\\Administrator\\Desktop\\InsertHtmlStringIntoCell.xlsx"; workbook.saveToFile(result, ExcelVersion.Version2013); workbook.dispose(); } }
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.