行がヘッダーであることをEPPlusに伝える簡単な方法はありますか? または、SelectedRange を使用して範囲を指定してヘッダーを作成し、シートから削除して、残っているセルを反復処理する必要がありますか?
私はこれをやってしまった:
class Program
{
static void Main(string[] args)
{
DirectoryInfo outputDir = new DirectoryInfo(@"C:\testdump\excelimports");
FileInfo existingFile = new FileInfo(outputDir.FullName + @"\Stormers.xlsx");
Dictionary<string, string> arrColumnNames = new Dictionary<string,string>() { { "First Name", "" }, { "Last Name", "" }, { "Email Address", "" } };
using (ExcelPackage package = new ExcelPackage(existingFile))
{
ExcelWorksheet sheet = package.Workbook.Worksheets[1];
var q = from cell in sheet.Cells
where arrColumnNames.ContainsKey(cell.Value.ToString())
select cell;
foreach (var c in q)
{
arrColumnNames[c.Value.ToString()] = c.Address;
}
foreach (var ck in arrColumnNames)
{
Console.WriteLine("{0} - {1}", ck.Key, ck.Value);
}
var qValues = from r in sheet.Cells
where !arrColumnNames.ContainsValue(r.Address.ToString())
select r;
foreach (var r in qValues)
{
Console.WriteLine("{0} - {1}", r.Address, r.Value);
}
}
}
}