このように、列の値が前の行と同じであり、「B3」の値が「B2」と同じである場合に何が必要なのグループ行である:グルーピングExcelの行
私はepplusでC#を使っていますが、アウトラインオプションでこれに似た何かをすることができますが、私の望むものに似ていますが、このオプションにはいくつか欠点があります値に基づいて自動的にグループ化し、さまざまなグループを行うことはできません....
EPPLUSでこれを行うことはできますか? it'sかのうない場合、私はC#にVBAコードを追加することができますか?私はこれを試してみてください:
はStringBuilder vbaCode = new StringBuilder();
vbaCode.AppendLine("Sheets('Sheet1').Activate");
vbaCode.AppendLine("Range('A1: D11').Select");
vbaCode.AppendLine("Selection.Subtotal GroupBy:= 1, Function:= xlSum, TotalList:= Array(2, 3),Replace:= True, PageBreaks:= False, SummaryBelowData:= True");
pck.Save();
しかし、動作しない私は、Excelファイルを開くcan't。
EDIT
では、私はグループ機能と相互運用機能を試してみたが、彼は、行列ではなく、グループ化されextrain理由で、これはコードで今推薦し:
var ExApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbooks Wbs = ExApp.Workbooks;
Microsoft.Office.Interop.Excel.Workbook Wb = Wbs.Open(fi.FullName.ToString());
Microsoft.Office.Interop.Excel.Sheets wss = Wb.Worksheets;
Microsoft.Office.Interop.Excel.Worksheet Ws = (Microsoft.Office.Interop.Excel.Worksheet)wss.get_Item("Sheet1");
Ws.Range["A6:A10"].Group();
Ws.Outline.SummaryRow =Microsoft.Office.Interop.Excel.XlSummaryRow.xlSummaryAbove;
ExApp.Visible = true;
EPPlusはエクセルでは不可能である何かをすることはできません。ただし、ExcelやVBAで何かできるのであれば、EPPlusで実行できます。あなたは列をグループ化するためにVBAを必要としません。例えば、 'sheet.Cells [" A1:D11 "]'は 'Group 'を呼び出すことができるExcelRangeを返します。 –
yesは、 Excelで行うことができることはすべてEEPLUSで行うことができますが、Excelでこれを行う方法はわかりません。このオプションは[データ]タブの小計オプションにあります。 EPPLUSでこれを行う方法を知っているなら、この作業の簡単な例を書いてください。 ** sheet.Cells ["A1:D11"] **グループオプションが表示されていないと、グループ名が存在することがわかりますが、どのように動作するのか分かりません。 – Ion