ワークブックを保存する前に、ワークシートの CellArea を削除しています (ClearContents、DeleteRange、ClearRange を使用しました)。しかし、「指定された引数は有効な値の範囲外でした」というエラーが発生し続けます。ただし、削除コードを削除して保存しようとすると、正常に動作します..親切に提案..私のコードは次のようになります:
foreach (GcmTemplateWorksheets _worksheet in Worksheetdetails)
{
if (_worksheet.IsTransposeRequired ?? false)
{
Range maxRange = _workbook.Worksheets[_worksheet.WorksheetName].Cells.MaxDisplayRange;
_workbook.Worksheets[_worksheet.WorksheetName].Cells.ClearRange((int)_worksheet.StartRow, (int)_worksheet.StartColumn, maxRange.RowCount, maxRange.ColumnCount);
}
_workbook.Worksheets[_worksheet.WorksheetName].Cells.ImportDataTable(data_.Tables[_worksheet.FixedWorksheetName], false, _worksheet.ExportDataStartRow ?? 0, 0);
//Instantiate the error checking options
ErrorCheckOptionCollection opts = _workbook.Worksheets[_worksheet.WorksheetName].ErrorCheckOptions;
int index = opts.Add();
ErrorCheckOption opt = opts[index];
//Disable the numbers stored as text option
opt.SetErrorCheck(ErrorCheckType.TextNumber, false);
opt.AddRange(CellArea.CreateCellArea(0, 0, _workbook.Worksheets[_worksheet.WorksheetName].Cells.MaxDataRow, _workbook.Worksheets[_worksheet.WorksheetName].Cells.MaxDataColumn));
}
string _exportPath = System.Configuration.ConfigurationManager.AppSettings["ExportTemplatePath"].ToString();
//Save the worksheet at an appropriate configured location and assign path to _exportPath..
_workbook.Save(_exportPath);
return _exportPath;