2
Excelの列インデックスがスプレッドシートにあり、この列インデックスを使用して列全体を削除する必要があります。私はOpen XML SDK 2.0を使用することに限定されています。Open XML:列インデックスを使用してExcelの列全体を削除する
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
namespace openXMLDemo
{
public class Program
{
public static void Main(string[] args)
{
string fileFullPath = @"path to the excel file here";
string sheetName = "excelsheet name here";
using (SpreadsheetDocument document = SpreadsheetDocument.Open(fileFullPath, true))
{
Sheet sheet = document.WorkbookPart.Workbook.GetFirstChild<Sheets>().Elements<Sheet>().Where(s => s.Name == sheetName).FirstOrDefault();
if (sheet != null)
{
WorksheetPart worksheetPart = (WorksheetPart)document.WorkbookPart.GetPartById(sheet.Id.Value);
// This is where I am struggling....
// finding the reference to entire column with the use of column index
Column columnToDelete = sheet.GetFirstChild<SheetData>().Elements<Column>()
}
}
}
}
}
列データを削除するか、列のレイアウト/スタイル情報を削除しますか? ( 'Column'要素はスプレッドシートの[range of]列のレイアウト/スタイリング情報のみを含み、実際のデータは' Cell'要素に格納され、 'SheetData'要素内の個々の' Row'要素に含まれます) – bassfader