小编Pan*_*aNL的帖子

将datagridview导出到csv文件

我正在开发一个应用程序,它将我的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)

c# datagridview streamwriter

16
推荐指数
4
解决办法
6万
查看次数

获得两个值之间的时差

在我的应用程序中,我有4个TextBoxes,2个TextBox用于输入开始时间,2个TextBox用于输入结束时间.

用户将始终输入完成的时间,因此输入将始终为11:30,12:45,依此类推.

如何在开始和结束时间之间获得小时和分钟的差异?

.net c# datetime

9
推荐指数
3
解决办法
3万
查看次数

在webbrowser控件中释放显示的pdf文件

我在winforms应用程序中有一个webbrowser控件来显示一个选定的pdf文件,之后我想将pdf文件移动到另一个位置.

当我试图移动pdf文件时,它给我一个错误,该文件正在使用中.我试图让webbrowser在移动之前导航到另一个页面但它仍然给我这个错误,该文件被其他进程使用.

我如何发布这个pdf文件,以便我可以移动它?处理webbrowser没有办法解决问题.

c# browser pdf winforms

5
推荐指数
1
解决办法
3919
查看次数

获取 VPN IP 地址

如何从 PPP 或 PPTT vpn 连接获取 IP?

我知道 VPN 连接的名称,所以我如何过滤

var nics = NetworkInterface.GetAllNetworkInterfaces();
Run Code Online (Sandbox Code Playgroud)

只获取名称为“VPNConnection”的 vpn 接口,并获取给定的 ip 地址?

c# vpn network-interface

3
推荐指数
1
解决办法
5038
查看次数

VB.NET本地化

如何使用其他语言制作应用程序,以便人们可以选择其他语言,

我需要翻译一些按钮,文本框和标签.有一个简单的方法吗?

vb.net localization

2
推荐指数
1
解决办法
9401
查看次数

C# 在datagridview中导入csv文件

可能的重复:
非常简单的 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)

c# winforms

2
推荐指数
1
解决办法
1万
查看次数

For Each循环NullReferenceException

我使用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未处理,我该如何解决这个问题?

c# foreach datagridview

1
推荐指数
1
解决办法
1284
查看次数

VB6复制数组AutoCAD

我正在将我们的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)

vb.net vb6 vba autocad vb6-migration

0
推荐指数
1
解决办法
1444
查看次数