Я загружаю свой лист с данными из List<T>
, используя LoadFromCollection
.Затем я удаляю несколько дополнительных столбцов и затем добавляю таблицу на лист.Наконец я сохраняю файл.
Я ожидаю, что в моей таблице 2 столбца, но есть 4, из которых 2 пустые.
Я подозреваю, что это может иметь какое-то отношение к диапазону, которыйЯ использую, но я не могу найти место для настройки диапазона, чтобы не было двух удаленных столбцов.
Код:
using OfficeOpenXml;
using System.Collections.Generic;
using System.IO;
namespace DelColCode
{
class Program
{
static void Main(string[] args)
{
//get some test data
var cars = Car.GenerateList();
var package = new ExcelPackage();
//Create the worksheet
var sheet = package.Workbook.Worksheets.Add("Car List");
//Read the data into a range
var range = sheet.Cells["A1"].LoadFromCollection(cars, true);
//delete the first and last columns
sheet.DeleteColumn(1);
sheet.DeleteColumn(3);
//Make the range a table
sheet.Tables.Add(range, $"data");
//save and dispose
package.File = new FileInfo("carlist.xlsx");
package.Save();
package.Dispose();
}
}
public class Car
{
public int Id { get; set; }
public string Make { get; set; }
public string Model { get; set; }
public int ReleaseYear { get; set; }
public Car(int id, string make, string model, int releaseYear)
{
Id = Id;
Make = make;
Model = model;
ReleaseYear = releaseYear;
}
internal static List<Car> GenerateList()
{
return new List<Car>
{
//random data
new Car(1,"Toyota", "Carolla", 1950),
new Car(2,"Toyota", "Yaris", 2000),
new Car(3,"Toyota", "Hilux", 1990),
new Car(4,"Nissan", "Juke", 2010),
new Car(5,"Nissan", "Trail Blazer", 1995),
new Car(6,"Nissan", "Micra", 2018),
new Car(7,"BMW", "M3", 1980),
new Car(8,"BMW", "X5", 2008),
new Car(9,"BMW", "M6", 2003),
new Car(10,"Merc", "S Class", 2001)
};
}
}
}
Ожидаемый результат:
Результат: