Tag: streamreader

使用带有ClosedXML的大型数据表的OutOfMemory错误

添加大型数据表时遇到问题,请创build工作表。 我正在摆脱内存错误。 我build议closures事件跟踪,以提高性能和内存消耗,但我仍然遇到这些错误。 这是一些示例代码: public void SaveWorkBook(string xlFileName, DataSet dataSet) { using (var xlWorkBook = new XLWorkbook(XLEventTracking.Disabled)) { xlWorkBook.AddWorksheet(dataSet); xlWorkBook.SaveAs(xlFileName); } } public void SaveWorkBook(string xlFileName, params DataTable[] dataTables) { using (var xlWorkBook = new XLWorkbook(XLEventTracking.Disabled)) { foreach (var dataTable in dataTables) xlWorkBook.AddWorksheet(dataTable); xlWorkBook.SaveAs(xlFileName); } } 当然问题是数据表是巨大的。 像成千上万的logging或更多。 我试图使用一种替代方法来处理大数据表,比如使用一个具有较小logging数的临时数据表,然后将它们刷新到Worksheet,清除数据表,然后用新数据重新填充数据表。 填充,冲洗,清除,重复。 那或者InsertData方法() 问题是,每次我尝试使用可用选项写入数据表时,只有第一列正在写入。 然后降低文件,我看到其他列的数据,但在工作表的第一个单元格,而不是像他们所想的那样在一行中跨越列。 而且只有一排。 可能是写的最后一个logging。 […]

“进程无法访问该文件,因为它正在被另一个进程使用”

我需要将一个CSVfile upload到Azure服务器上的ASP.NET应用程序。 虽然它在我的本地机器上正常工作,但是在上传到服务器时会引发以下错误: “进程无法访问文件”C:\ inetpub \ wwwroot \ ImportFiles \ 9_11.csv“,因为它正在被另一个进程使用” 我的代码: string fileName = DateTime.Now.ToString().Replace(':', '_').Replace('/', '_').Replace(' ', '_') + Convert.ToString((new Random()).Next(0, 999) * (new Random()).Next(0, 999)); string path = Server.MapPath("ImportFiles") + "\\" + fileName + "" + FileImport.FileName.Substring(FileImport.FileName.IndexOf('.')); FileImport.SaveAs(path); string pathforSeconStream = path; try { Response.Write("<script> alert('In Try Block');</script>"); bool flag = true; […]

StreamReader和StreamWriter与Excel

我需要一些指导。 我正在阅读使用StreamReader的Excel文件,然后使用StreamReader.ReadToEnd()获取文件到一个string ; 方法。 然后使用StreamWriter.Write()方法将string写入文件系统上的其他位置。 然后我从前面写的位置重新读取文件。 但是,似乎我正在阅读一些垃圾值,我不能打开新位置的Excel文件… 我在这里做错了文件被损坏? 我在这里错过了什么与编码?