在我的应用程序中,我在OpenFileDialog控件的帮助下从用户那里获取了一个CSv文件。在我获得CSV之后,我将它作为数据源提供给datagridview。 以下是获取CSV的代码:
private void btnBrowse_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "|*.csv";
DialogResult result = openFileDialog.ShowDialog();
if (result == DialogResult.OK)
{
tbCSVPath.Text = openFileDialog.FileName;
}
}
这是将CSV作为数据源提供给datagridview的代码:
private void btnCsvUpload_Click(object sender, EventArgs e)
{
try
{
dgCSVData.DataSource = GetDataTableFromCSVFile(tbCSVPath.Text);
chart1.DataSource = dgCSVData;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Import CSV File", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private static DataTable GetDataTableFromCSVFile(string csvfilePath)
{
DataTable csvData = new DataTable();
using (TextFieldParser csvReader = new TextFieldParser(csvfilePath))
{
csvReader.SetDelimiters(new string[] { "," });
csvReader.HasFieldsEnclosedInQuotes = true;
string[] colFields = csvReader.ReadFields();
foreach (string column in colFields)
{
DataColumn datecolumn = new DataColumn(column);
datecolumn.AllowDBNull = true;
csvData.Columns.Add(datecolumn);
}
while (!csvReader.EndOfData)
{
string[] fieldData = csvReader.ReadFields();
for (int i = 0; i < fieldData.Length; i++)
{
if (fieldData[i] == "")
{
fieldData[i] = null;
}
}
csvData.Rows.Add(fieldData);
}
}
return csvData;
}
我的CSV文件是BLG文件的转换。我也在我的应用程序中以另一种形式完成这项工作。现在我非常困惑而且无法做到的是我想在图表中显示CSV的值。 CSV将是动态的并且一直在变化,我找不到任何东西,也没有太多关于如何做到这一点的线索。如果有人帮我做这个任务,我会很高兴。谢谢你的帮助