0
EPPlusを使用してスプレッドシートにデータを設定しています。特定の条件の下では、シートは意図的に削除され、1枚のシートにはデータのみが残されます。コードはエラーなく実行され、すべてのシートが残っているときに実行されますが、シートを削除して保存して開くと、一連の警告とエラーが表示されます。ブックはが正常に開いていて、他のプロセスは正常に動作しているようです。何かご意見は? OOXMLが無効になる原因となったシートを削除していますが、ステップがありませんか?ありがとう。EPPlusとシートの削除
Using template As New MemoryStream(My.Resources.POWER_DOCKET_V2_Template)
Using excel As New ExcelPackage(template)
For worksheet = excel.Workbook.Worksheets.Count To 1 Step -1
Dim grid = CType(radPageViewList.Find(Function(page) page.Name = pageGridSheetMap.Find(Function(sheet) sheet.WorksheetName = excel.Workbook.Worksheets(worksheet).Name).PageViewPageName).Controls(0), RadGridView)
Dim workSheetForSelectedGrid As ExcelWorksheet = excel.Workbook.Worksheets(pageGridSheetMap.Find(Function(g) g.RadGridViewName = selectedGid.Name).WorksheetName)
Dim rowRange As String = pageGridSheetMap.Find(Function(r) r.RadGridViewName = grid.Name).RowRange
Dim sheetRange As String = pageGridSheetMap.Find(Function(r) r.RadGridViewName = grid.Name).SheetRange
Dim rightMostColumn As Integer = pageGridSheetMap.Find(Function(r) r.RadGridViewName = grid.Name).RightMostColumn
If exportSelectedGridOnly = True And excel.Workbook.Worksheets(worksheet).Name <> workSheetForSelectedGrid.Name Then
excel.Workbook.Worksheets.Delete(worksheet)
Else
WriteRows(excel.Workbook.Worksheets(worksheet), grid, rowRange, sheetRange, rightMostColumn)
End If
Next worksheet
If Not Directory.Exists(ConfigurationManager.AppSettings("OutlawTempFolder")) Then Directory.CreateDirectory(ConfigurationManager.AppSettings("OutlawTempFolder"))
excel.SaveAs(New FileInfo(filename))
Process.Start(filename)
End Using
End Using
この投稿の書式設定に時間がかかるので、スタックはそれを受け入れます。 – Steve