Tag: streamwriter

有没有一种方法可以检查文件是否已经打开?

我想检查C:\ Data.xlsb是否已经打开。 我从这里有下面的代码如何判断某个Excel文件是否使用VB.NET打开? Public Shared Function OpenUnlockedFile(ByVal path As String) As StreamWriter Dim sw As StreamWriter = nothing Try sw = New StreamWriter(path) Catch ex As IOException When System.Runtime.InteropServices.Marshal.GetLastWin32Error() = 32 REM locked, return nothing End Try Return sw End Function 但是我不知道如何使用上面的代码。 我更喜欢sub而不是function。 最好的祝福。

StreamWriter如何忽略\ r \ n?

我正在构build“导出”function; 我正在使用StreamWriter以CSV格式写入一些数据,以便可以在Excel中打开。 问题是,事实certificate,在那个数据中,有一个string\r\n ,这似乎是造成StreamWriter把它当作换行符,这在Excel中填满了表。 有没有办法忽略\r\n ? 有任何想法吗 ?

StreamReader和StreamWriter与Excel

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

当在MS Excel中查看时导出为CSV问题时出现VB .Net

我遇到了一些非常奇怪的事情。 当导出为CSV时,我的顶行显示了引号,而下面的行显示了引号。 我使用UTF8编码并手动将双引号添加到该值,以便用引号括起来。 正在使用的代码是 Dim fs As New IO.FileStream(GenericValueEditorExportFilename.Value, IO.FileMode.Create) Dim writer As New IO.StreamWriter(fs, Encoding.UTF8) fs.Write(Encoding.UTF8.GetPreamble(), 0, Encoding.UTF8.GetPreamble().Length) …. …. …. While reader.Read If reader("TargetLanguageID") = targetLanguageID Then writer.WriteLine(Encode(reader("SourcePhrase")) & ", " & Encode(reader("TargetPhrase"))) End If …. …. …. Friend Shared Function Encode(ByVal value As String) As String Return ControlChars.Quote & value.Replace("""", """""") & […]

在C#中使用StreamWriter时,写入以.csv或Excel文件分隔的不同选项卡或文件

我有一个控制台应用程序将结果输出到.csv文件。 控制台应用程序调用多个Web服务并输出多个数据。 输出包含区分一个站点和另一个站点的URL。 代码工作正常,但输出是在一个大的CSV文件,并在它到达标题时被分割,然后开始写入新网站的数据。 在这里你有如何从CSV文件的输出: ProjectTitle,PublishStatus,Type,NumberOfUsers, URL Project one,published,Open,1,http://localhost/test1 Project two,expired,Closed,14,http://localhost/test1 ProjectTitle,PublishStatus,Type,NumberOfUsers,URL Project one V2,expired,Closed,2,http://localhost/test2 Project two V2,Published,Open,3,http://localhost/test2 我试图做的是要么输出第一组数据(取决于每个URL),然后在Excel中的另一个选项卡中输出第二组数据,或者只是为新的数据集创build一个新文件。 我的代码: public static XmlDocument xml = new XmlDocument(); static void Main(string[] args) { xml.Load("config.xml"); test(); } private static void test() { List<string> url = new List<string>(); int count = xml.GetElementsByTagName("url").Count; for (int i = 0; i […]

什么是正确的CSV编码的C#打开Excel?

我使用基于StreamWriter的C#CSVWriter编写了一个CSV文件。 在我的资料中,我有很多像“Bávaro”这样的特殊字符。 所以,当我使用UTF-8或ASCII来编码我的CSV时,我无法得到“á”,但是我可以在Excel中完美地打开它。 当我使用Unicode我的CSV有正确的字符,但事实上,当我在Excel中打开此CSV它不会自动sorting像我的其他CSV,所有的值都在第一列作为string…. 什么是正确的编码在这里?

使用streamwriter从c#创build多张excel表格

我正在使用streamwriter创build一个excel文件。 但问题是,我没有find一种方法来创build多个工作表,并从C#指定他们的名字。 另外我想使用Streamwriter在excel上绘制图表。 那么有没有人有一个想法如何使用Streamwriter做这两件事情,而不是Excel实例? 我的代码是这样的: String sPath = Environment.GetEnvironmentVariable("TEMP") + "\\Synthese.xls"; FileStream oFile = new FileStream(sPath, FileMode.Create); StreamWriter oWriter = new StreamWriter(oFile, System.Text.Encoding.UTF8); oWriter.WriteLine("<table border='1' border-color='#ffffff' style=font-weight:bold;><tr>"); … oWriter.Close(); oFile.Close(); FileInfo myFile = new FileInfo(sPath); Response.Clear(); Response.AddHeader("Content-Disposition", "attachment; filename=" + myFile.Name); Response.AddHeader("Content-Length", myFile.Length.ToString()); Response.ContentType = "application/octet-stream"; Response.WriteFile(myFile.FullName); Response.Flush(); Response.End(); 任何帮助,高度赞赏。

CSV助手不写入文件

我一直试图让CSV助手写入文件。 当我运行DownloadRegistrantsCsv它会以正确的名称和其他所有内容下载文件,但是它永远不会写入任何内容。 public async Task<Stream> GetDownloadStreamAsync(int id) { var memoryStream = new MemoryStream(); var streamWriter = new StreamWriter(memoryStream); var streamReader = new StreamReader(memoryStream); var csvHelper = new CsvHelper.CsvWriter(streamWriter); csvHelper.WriteRecord(new EventRegistrant { FirstName = "Max" }); await memoryStream.FlushAsync(); memoryStream.Position = 0; return memoryStream; } public async Task<ActionResult> DownloadRegistrantsCsv(int id) { var @event = await _service.GetAsync(id, true); […]

为什么我的StreamWriter Response输出在Excel中产生垃圾口音,但在记事本中看起来不错?

我正在使用来自另一个堆栈溢出问题的技术将CSV文件写入用户打开/保存的Response输出。 在记事本中该文件看起来不错,但是当我在Excel中打开它时,重音字符是垃圾。 我认为这是与字符编码有关,所以我尝试手动将其设置为UTF-8( StreamWriter的默认值)。 这里是代码: // This fills a list to enumerate – each record is one CSV line List<FullRegistrationInfo> fullUsers = GetFullUserRegistrations(); context.Response.Clear(); context.Response.AddHeader("content-disposition", "attachment; filename=registros.csv"); context.Response.ContentType = "text/csv"; context.Response.Charset = "utf-8"; using (StreamWriter writer = new StreamWriter(context.Response.OutputStream)) { for (int i = 0; i < fullUsers.Count(); i++) { // Get the record to […]

Apache POI:SXSSFWorkbook.dispose()不存在

我使用Apache的POI API来编写XLSX文件。 由于我需要编写大文件,因此我正在使用Streaming API(SXSSF)。 要做到这一点,我遵循本指南。 请注意,在示例的结尾处有一个呼叫 wb.dispose 这个wb实例引用了一个SXSSFWorkbook实例。 我在我的代码中使用相同的,但它抱怨不存在的处置方法。 我下载了源代码,方法不在那里。 然而,去他们的SVN和检查类的代码,我们可以看到在那里的方法: https://svn.apache.org/repos/asf/poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java 我已经尝试重新编译他们的代码,但我得到了很多错误…