Bir OfficeOpenXml.ExcelWorksheet okuyorum ve koleksiyonun ortasında ArgumentOufOfRangeException alıyorum.C# ExcelWorksheet okurken ArgümanOutOfRangeException
Bu gibi bir kitap okuyorum process.Information = sheet.Cells[line, i++].Text;
. Bu satırda i = 22
, sheet.Dimension.Column = 28
.
Ben ayıklama ve ben .Value
yöntem doğru değeri gösterilirken İstisna yöntemine .Text
atıldı görüyoruz koleksiyonu numaralandırmak sarıldığında. durum yığın izlemesi göre
---- DÜZENLEME tarafından atılan ediliyor - - Kabul edilen cevaptan sonra, problemin sadece okumada olmadığını fark ettim. Ben aynı dosyaya fazladan bir sütun (import başarı veya başarısızlık) ile cevap veriyorum ve ben sayfa formatation yapıyorum yaparken aynı hata, tüm System.Text.StringBuilder.Insert() yöntemi nedeniyle olsun. Eğer tarzında tetiklediği OfficeOpenXml
uygulanmasında gerçek bir böcek koştu gibi bu Style.XmlAccess
söz yığın izleme kısmından bakılırsa yığın izleme
at System.Text.StringBuilder.Insert(Int32 index, Char* value, Int32 valueCount)
at System.Text.StringBuilder.Insert(Int32 index, Char value)
at OfficeOpenXml.Style.XmlAccess.ExcelNumberFormatXml.ExcelFormatTranslator.ToNetFormat(String ExcelFormat, Boolean forColWidth)
at OfficeOpenXml.Style.XmlAccess.ExcelNumberFormatXml.ExcelFormatTranslator..ctor(String format, Int32 numFmtID)
at OfficeOpenXml.Style.XmlAccess.ExcelNumberFormatXml.get_FormatTranslator()
at OfficeOpenXml.ExcelRangeBase.GetFormattedText(Boolean forWidthCalc)
at OfficeOpenXml.ExcelRangeBase.get_TextForWidth()
at OfficeOpenXml.ExcelRangeBase.AutoFitColumns(Double MinimumWidth, Double MaximumWidth)
at OfficeOpenXml.ExcelRangeBase.AutoFitColumns(Double MinimumWidth)
at OfficeOpenXml.ExcelRangeBase.AutoFitColumns()
at OfficeOpenXml.ExcelColumn.AutoFit()
at SkiptraceAPI.Models.ProcessosRepository.formatExcel(ExcelPackage package, Boolean addValidation) in
Bu, hücrenizin stilini işlemeyle ilgili uygulamada bir hataya benziyor. Bunun yerine process.Information = sheet.GetValue (satır, i ++) 'yi deneyin. –
dasblinkenlight
Değer özelliğini okumada sorun ne olurdu? Gerçekten .text 'özelliğine ihtiyacınız var mı? Bazı örnekler için googled ettik ve 'Value' yerine 'Text' yerine çok kullanılan bir şey olduğunu gördüm. Kullandığınız paket için gerçekten belge bulamıyor, ancak 'Metin' bazı özel özellik değil mi? –
Aslında '.Value' yerine' .Text' kullanarak bir sorun olup olmadığını bilmiyorum. Bu eski koddur ve neden bu yolu seçtiğini hatırlayamaz (ama bir nedeni olmalı). Bu kod her zaman çalıştı ve müşteri bu hatayı ilk kez rapor ediyor. Sanırım bunu yerine '.Value' olarak değiştireceğim, ancak sorunu anlamak istiyorum ... – NunoRibeiro