xxxxxxxxxx
using OfficeOpenXml;
// Assuming you have a DataTable called "dataTable"
// Create a new Excel package
using (ExcelPackage excelPackage = new ExcelPackage())
{
// Create a new sheet in the Excel package
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Sheet1");
// Write the column headers
for (int i = 0; i < dataTable.Columns.Count; i++)
{
worksheet.Cells[1, i + 1].Value = dataTable.Columns[i].ColumnName;
}
// Write the data rows
for (int row = 0; row < dataTable.Rows.Count; row++)
{
for (int column = 0; column < dataTable.Columns.Count; column++)
{
worksheet.Cells[row + 2, column + 1].Value = dataTable.Rows[row][column];
}
}
// Save the Excel package to a file
excelPackage.SaveAs(new FileInfo("data.xlsx"));
}
To create a DataTable from an Excel file in C#, you can use the ExcelDataReader and System.Data libraries.
xxxxxxxxxx
using System.Data;
using ExcelDataReader;
using System.IO;
// ...
// Define the path to the Excel file
string filePath = @"C:\path\to\file.xlsx";
// Open the file using a stream
using (var stream = File.Open(filePath, FileMode.Open, FileAccess.Read))
{
// Create the reader object
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
// Create the dataset to hold the data
var result = reader.AsDataSet();
// Get the first table (assuming there is only one)
DataTable table = result.Tables[0];
// Do something with the table...
}
}
xxxxxxxxxx
public void toExcel(JTable table, File file){
try{
TableModel model = table.getModel();
FileWriter excel = new FileWriter(file);
for(int i = 0; i < model.getColumnCount(); i++){
excel.write(model.getColumnName(i) + "\t");
}
excel.write("\n");
for(int i=0; i< model.getRowCount(); i++) {
for(int j=0; j < model.getColumnCount(); j++) {
excel.write(model.getValueAt(i,j).toString()+"\t");
}
excel.write("\n");
}
excel.close();
}catch(IOException e){ System.out.println(e); }
}