Tag: csv

使用NLog将Logger Name转换为Excel文件

感谢Rolf在这个问题中的评论: NLog in C#的严重性和类别 我能够将日志消息的类别记录到文本文件中(例如“Thermal”或“Database”或“Mechanical”。我只是通过将名称传递给“GetLogger”方法来完成此操作。 public MainWindow() { InitializeComponent(); var logger = NLog.LogManager.GetCurrentClassLogger(); logger.Info(“Hello World”); (NLog.LogManager.GetLogger(“Database”)).Info(“Here is a DB message”); (NLog.LogManager.GetLogger(“Thermal”)).Info(“Here is a Thermal message”); } 文本文件如下所示: 2018-05-13 17:40:47.7442|INFO|NLogExperiments.MainWindow|Hello World 2018-05-13 17:40:50.3404|INFO|Database|Here is a DB message 2018-05-13 17:40:50.3404|INFO|Thermal|Here is a Thermal message 这很不错。 我可能会在一个单独的问题中询问如何重新格式化它。 现在我想将这些消息放入CSV(Excel)文件中。 我正在使用: 但输出只是: time,level,name,message,codeLine 2018-05-13 17:40:47.7442,Info,,Hello World, 2018-05-13 17:40:50.3404,Info,,Here is a […]

FileHelpers嵌套引号和逗号 – 解析错误

我正在尝试使用奇妙的FileHelpers库从地狱解析CSV文件。 它无法处理表格的一行: “TOYS R”” US”,” INC.”””,fld2,fld3,””,””,””,fld7, FileHelper非常擅长处理“千种”格式的数字字段(使用自定义格式化程序),即使用引号,尾随逗号等包装,但它会导致第一个字段出现问题。 “TOYS R”” US”,” INC.”””,fld2,… 该字段包括嵌套引号和嵌套逗号。 FileHelper不知道如何处理它并将其拆分为两个单独的字段,这随后会导致抛出exception。 有没有推荐的方法来处理这个?

导出为CSV时Gridview为空行

关于这个问题的进一步讨论促成了这个问题 。 以下是我用于创建CSV文件的例程。 一切都很好,除了我只获得列标题而没有行。 protected void CSVReport_Click(object sender, EventArgs e) { Response.Clear(); Response.Buffer = true; Response.AddHeader(“content-disposition”, “attachment;filename=PeopleReportTest.csv”); Response.Charset = “”; Response.ContentType = “text/csv”; Response.AddHeader(“Pragma”, “public”); GridView1.AllowSorting = false; GridView1.AllowPaging = false; GridView1.DataBind(); StringBuilder sb = new StringBuilder(); for (int k = 1; k < GridView1.Columns.Count; k++) { //add separator sb.Append(GridView1.Columns[k].HeaderText + ','); } //append new […]

解析用C#中的引号括起来的CSV文件

我在解析CSV文件时看到了很多样本​​。 但这个是一种烦人的文件…… 那么你如何解析这种CSV “1”,1/2/2010,“样本(”adasdad“)asdada”,“我在门口”Stinky“,所以我会该死的,”“AK”

List 中的数据表

我已经下载了List Rows包含的数据,如下所示: class Row { string[] Items { get; set; } public Row(string[] Items) { this.Items = Items; } } 行基本上以逗号分隔的条目(.csv) using (var reader = new StreamReader(spreadSheetStream)) { string header = reader.ReadLine(); //This is the header Rows.Add(new Row(header.Split(‘,’))); while (!reader.EndOfStream) { string tickerInfo = reader.ReadLine(); //This is a data entry Rows.Add(new Row(tickerInfo.Split(‘,’))); } } 我将List转换为像这样的Datatable […]

从两个逗号分隔的参数更新表作为输入

我在前端有一个Gridview,其中Grid有两列:ID和Order,如下所示: ID Order 1 1 2 2 3 3 4 4 现在用户可以像前端Gridview一样更新订单: ID Order 1 2 2 4 3 1 4 3 现在,如果用户单击“保存”按钮,则ID和订单数据将作为@sID =(1,2,3,4)和@sOrder =(2,4,1,3)发送到存储过程 现在,如果我想更新订单并进行保存,我想将其存储到数据库中。 通过存储过程如何更新到表中以便更新表,而选择它时会给我以下结果: ID Order 1 2 2 4 3 1 4 3

如何在.Net中使用OleDB以我想要的格式从CSV导入值?

我有一个CSV文件,其中的列包含看起来像整数的字符串。 那就是它们应该作为字符串来处理,但由于它们是数字,它们似乎是作为整数导入的(从前导零中删除)。 示例数据: 0000000000079 0000999000012 0001002000005 0004100000007 我看到的问题是最后一个示例数据点是DBNull.Value。 我假设这是因为OleDB将该列视为整数(数据点也没有它们的前导零),并且0004100000007大于最大整数值。 有没有办法说“column [0]是一个字符串,不要把它读成一个整数”? 在阅读数据时? 我目前使用的代码是: OleDbConnection dbConn = new OleDbConnection(SourceConnectionString); OleDbCommand dbCommand = new OleDbCommand(“SELECT * FROM test.csv”, dbConn); dbConn.Open(); OleDbDataReader dbReader = dbCommand.ExecuteReader(); while (dbReader.Read()) { if (dbReader[0] != DBNull.Value) { // do some work } }

如何向datagridview添加filter

我正在尝试将csv文件加载到datagridview,现在我想向datagridview添加过滤 怎么做? 这是我如何阅读和加载csv文件 openFileDialog1.InitialDirectory = @”C:\”; openFileDialog1.Title = “Open CSV Files”; openFileDialog1.CheckFileExists = true; openFileDialog1.CheckPathExists = true; openFileDialog1.DefaultExt = “CSV”; openFileDialog1.Filter = “CSV files (*.csv)|*.csv|All files(*.*)|*.*”; openFileDialog1.FilterIndex = 1; openFileDialog1.RestoreDirectory = true; try { if (openFileDialog1.ShowDialog() == DialogResult.OK) { string csvPath = openFileDialog1.FileName; string rowValue; // int rowValue = int.Parse(??); string[] cellValue; dataGridView1.Rows.Clear(); //dataGridView1.Columns.Clear(); if […]

在C#winforms中读取csv文件时出现数据错误

我有一个C#winforms正在读取csv文件中的列。 它读取4列中的3列正确。 csv文件中的第4列是S4 ,但数据集显示为4 。 代码是: string conn = string.Format(@”Provider=Microsoft.Jet.OLEDB.4.0; Data” + “Source={0}; Extended Properties=””text;HDR=YES;FMT=DELIMITED”””, strDirectoryPath); OleDbConnection oleDBConn = new OleDbConnection(conn); oleDBConn.Open(); OleDbDataAdapter da = new OleDbDataAdapter(“Select * FROM [” + strFileName + “]”, conn); DataSet ds = new DataSet(); da.Fill(ds); csv数据样本是: AA0013 Incident Incident S4 AA0016 Incident Incident S3 AA0017 Incident Incident S3 AA0023 […]

将csv加载到oleDB中并强制所有推断的数据类型为字符串

我试图使用oledb将csv文件加载到数据表中。 这没有问题,但不幸的是,其中一个看起来是数字的字段在字段中有大约3%的字符串值,因此没有填充。 因为我将csv转换为xml我真的不关心推断数据类型,只需要字符串中的数据,因为我可以稍后在Linq2XMl阶段投出它。 我希望能够在连接字符串中执行此操作。 我不想只是复制表,使用我想要的数据类型的新列进行设置,然后将数据写入其中,因为这将涉及加载csv文件两次。 有任何想法吗? 我当前的连接字符串是 Provider = Microsoft.Jet.OLEDB.4.0; Data Source =“+ thefile.DirectoryName +”; Extended Properties =’text; HDR = Yes; FMT = Delimited’“;