如何使我的表单写出到excel工作表,同时自动中断到新的空行

ipakzgxi  于 2023-03-13  发布在  其他
关注(0)|答案(1)|浏览(123)

我试图从我的Windows窗体中获取文本框写入Excel工作表,但中断到下一个空行,并做同样的事情。我只需要每行中的A-D列填写。其中A = tbname.Text,B = tbphone.Text,C = ddissue.Text,D = lbdate. Text。然后转到第2行A-D,查看下一个客户信息。该表单是一个信息亭,允许客户输入此信息,并为下一个人重置。我现在唯一的问题是把这些数据放入excel中,excel表格保存在C:\Users\Willi\OneDrive\Desktop\log\form.xlsx中
我可以写静态单元格,但它覆盖一旦我点击提交的形式再次。
这是当客户填写表单时,我当前输出的数据。这只是一个接收数据的notepad.txt文件。

private void btnnext_Click(object sender, EventArgs e)
    {
        try
        {
            string filepath = @"C:\Users\Willi\OneDrive\Desktop\" + "\\log\\" + "\\dropoff\\" + tbname.Text + DateTime.Now.ToString(" MM-dd-yyyy   s") + ".txt";
            StreamWriter writer = new StreamWriter(filepath);
            using (writer)
            {
                writer.WriteLine(DateTime.Now.ToString(" MM-dd-yyyy -HH-mm-ss"));
                writer.WriteLine("NAME: " + tbname.Text);
                writer.WriteLine("ORGANIZATION: " + tborg.Text);
                writer.WriteLine("PHONE: " + tbphone.Text);
                writer.WriteLine("ISSUE: " + ddissue.Text + "  " + tbissue.Text);

            }

            //
        

        }
ybzsozfc

ybzsozfc1#

我得到了朋友的帮助,完成了我的问题。

using ClosedXML.Excel;

     var serials = new List<string>();

        if (tbserial1.Text != "") serials.Add(tbserial1.Text);
        if (tbserial2.Text != "") serials.Add(tbserial2.Text);
        if (tbserial3.Text != "") serials.Add(tbserial3.Text);
        if (tbserial4.Text != "") serials.Add(tbserial4.Text);
        if (tbserial5.Text != "") serials.Add(tbserial5.Text);
        if (tbserial6.Text != "") serials.Add(tbserial6.Text);
        if (tbserial7.Text != "") serials.Add(tbserial7.Text);
        if (tbserial8.Text != "") serials.Add(tbserial8.Text);
        if (tbserial9.Text != "") serials.Add(tbserial9.Text);
        if (tbserial10.Text != "") serials.Add(tbserial10.Text);

        using (var workbook = new XLWorkbook("C:\\Users\\dell\\Desktop\\log\\form.xlsx"))
        {
            var worksheet = workbook.Worksheets.First();

            for (var i = serials.Count - 1; i >= 0; i--)
            {
                var serial = serials[i];

                var row = worksheet.LastRowUsed().RowNumber() + 1;
                worksheet.Cell($"A{row}").Value = tbname.Text;
                worksheet.Cell($"B{row}").Value = ddissue.Text;
                worksheet.Cell($"C{row}").Value = lbdate.Text;
                worksheet.Cell($"E{row}").Value = serial;

                worksheet.Cell($"G{row}").Value = tbticket2.Text;
                worksheet.Cell($"H{row}").Value = tbphone.Text;

            }

            workbook.Save();
        }

相关问题