我正在开发一个应用程序,它将我的DataGridView名为scannerDataGridView导出到csv文件.
找到一些示例代码来执行此操作,但无法使其正常工作.顺便说一下,我的数据网格没有数据绑定到源.
当我尝试使用Streamwriter只编写列标题时一切顺利,但当我尝试导出整个数据网格包括数据时,我得到一个exeption trhown.
System.NullReferenceException:未将对象引用设置为对象的实例.在Scanmonitor.Form1.button1_Click(Object sender,EventArgs e)
这是我的代码,错误在以下行中给出:
dataFromGrid = dataFromGrid +','+ dataRowObject.Cells [i] .Value.ToString();
//csvFileWriter = StreamWriter
//scannerDataGridView = DataGridView
private void button1_Click(object sender, EventArgs e)
{
string CsvFpath = @"C:\scanner\CSV-EXPORT.csv";
try
{
System.IO.StreamWriter csvFileWriter = new StreamWriter(CsvFpath, false);
string columnHeaderText = "";
int countColumn = scannerDataGridView.ColumnCount - 1;
if (countColumn >= 0)
{
columnHeaderText = scannerDataGridView.Columns[0].HeaderText;
}
for (int i = 1; i <= countColumn; i++)
{
columnHeaderText = columnHeaderText + ',' + scannerDataGridView.Columns[i].HeaderText;
}
csvFileWriter.WriteLine(columnHeaderText);
foreach (DataGridViewRow …
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我有4个TextBoxes,2个TextBox用于输入开始时间,2个TextBox用于输入结束时间.
用户将始终输入完成的时间,因此输入将始终为11:30,12:45,依此类推.
如何在开始和结束时间之间获得小时和分钟的差异?
我在winforms应用程序中有一个webbrowser控件来显示一个选定的pdf文件,之后我想将pdf文件移动到另一个位置.
当我试图移动pdf文件时,它给我一个错误,该文件正在使用中.我试图让webbrowser在移动之前导航到另一个页面但它仍然给我这个错误,该文件被其他进程使用.
我如何发布这个pdf文件,以便我可以移动它?处理webbrowser没有办法解决问题.
如何从 PPP 或 PPTT vpn 连接获取 IP?
我知道 VPN 连接的名称,所以我如何过滤
var nics = NetworkInterface.GetAllNetworkInterfaces();
Run Code Online (Sandbox Code Playgroud)
只获取名称为“VPNConnection”的 vpn 接口,并获取给定的 ip 地址?
如何使用其他语言制作应用程序,以便人们可以选择其他语言,
我需要翻译一些按钮,文本框和标签.有一个简单的方法吗?
可能的重复:
非常简单的 C# CSV 阅读器
在我的应用程序中,用户可以从 datagridview 导出 csv 文件,也可以将 csv 文件导出到 datagridview,这可以正常工作,但存在一些小问题。
如您所知,csv 文件使用逗号符号来分隔项目。
有时其中一个单元格有一个逗号符号,例如(2,5 小时)。
导入 csv 时,它认为 2,5 之间的逗号是分隔符,因此它将把 2 放入一个单元格中,将 5 放入下一个单元格中。
我该如何解决这个问题。
这是我用于导入 csv 的 csv
dataGridView1.Rows.Clear();
try
{
if (openFileCsv.ShowDialog() == DialogResult.OK)
{
string csvPath = openFileCsv.FileName;
if (System.IO.File.Exists(csvPath))
{
System.IO.StreamReader fileReader = new System.IO.StreamReader(csvPath, false);
//Reading Data
while (fileReader.Peek() != -1)
{
fileRow = fileReader.ReadLine();
fileDataField = fileRow.Split(',');
dataGridView1.Rows.Add(fileDataField);
}
fileReader.Dispose();
fileReader.Close();
}
else
{
MessageBox.Show("CSV Bestand niet gevonden.");
}
}
DataLoaded = …
Run Code Online (Sandbox Code Playgroud) 我使用foreach循环使用以下代码从我的datagridview中获取数据.
foreach (DataGridViewRow row in this.dataGridMultiSubmit.Rows)
{
Model = row.Cells[0].Value.ToString();
Module = row.Cells[1].Value.ToString();
Section = row.Cells[2].Value.ToString();
FunctionValue = row.Cells[3].Value.ToString();
NewValue = row.Cells[4].Value.ToString();
DefaultValue = row.Cells[5].Value.ToString();
Description = row.Cells[6].Value.ToString();
MessageBox.Show(Model + Module + Section + FunctionValue + NewValue + DefaultValue + Description);
}
Run Code Online (Sandbox Code Playgroud)
它在消息框中正确返回所有行,但当它通过所有行运行时它给我NullReferenceException未处理,我该如何解决这个问题?
我正在将我们的VBA AutoCAD脚本转移到VB.NET,但我发现了一个警告.VB.net 2010给我一个警告,这个代码是绝对的,并且有时不能用于64位.
由于我们的vba文件和AutoCAD 2012和Windows 7 X64存在问题,该程序需要64兼容.我需要使用什么而不是VB6.CopyArray?
If Flipline = True Then
P1 = VB6.CopyArray(Endpoint)
P2 = VB6.CopyArray(Beginpoint)
Else
P1 = VB6.CopyArray(Beginpoint)
P2 = VB6.CopyArray(Endpoint)
End If
Run Code Online (Sandbox Code Playgroud) c# ×6
datagridview ×2
vb.net ×2
winforms ×2
.net ×1
autocad ×1
browser ×1
datetime ×1
foreach ×1
localization ×1
pdf ×1
streamwriter ×1
vb6 ×1
vba ×1
vpn ×1