私はc#コードを使用して次のことを行おうとしています:
- Excelでいくつかの行を非表示にします。
- Excelシートのすべてのデータと形式をクリアします。
- 他のデータをExcelシートに入れます。
非表示の行は引き続き非表示にしておきます。出来ますか?
ありがとう!
ClosedXMLを使用して Excel スプレッドシートを操作することで、すばらしい結果が得られました。
私はあなたのケースを試していませんが、同様のことをしました。私の場合、個人データを新しいワークシートに入れ、それを非表示にしました。これにより ClodedXML が簡単になりました。
これがあなたを動かすことができるサンプルコードです....
//Create an Excel App
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel._Workbook xlWorkBook = null;
Microsoft.Office.Interop.Excel._Worksheet xlWorksheet;
//Open a Workbook
xlWorkBook = xlApp.Workbooks.Open(@"d:\test.xlsx");
xlWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Sheets[1];
//My Workbook contains 10 rows with some data and formatting
//I Hide rows 3, 4 & 5
Microsoft.Office.Interop.Excel.Range hiddenRange = xlWorksheet.get_Range("A3:C5");
hiddenRange.EntireRow.Hidden = true;
//Get the entire sheet and Clear everything on it including data & formatting
Microsoft.Office.Interop.Excel.Range allRange = xlWorksheet.UsedRange;
allRange.Clear();
//Now Add some new data, say a Title on the first cell, and some more data in a loop later
xlWorksheet.Cells[1, 1] = "Title";
for (int i = 6; i < 10; i++)
{
xlWorksheet.Cells[i, 1] = i.ToString();
}
xlApp.Visible = true;
それでおしまい....
それらを変数に保存し、Excel にデータを入力した後に再び非表示にします。