0

我有datagridview一些记录。我必须以 .txt 文件格式导出此记录。当它导出为 .txt 文件时,记录的格式不正确,如附图所示

在此处输入图像描述

我已经编写了一些用于导出到 .txt 文件的代码

 string FileName = CurrentUserContext.CurrentEnterprise.FSaveReportTo+"\\" +  fExpFile.strFileName + ".txt";
                        bool IncludeColHeaders = fExpFile.includeHeaders;

                        StringBuilder sb = new StringBuilder();
                        if (Company != null)
                        {
                            sb.AppendLine("Company: " + Company.FName);
                        }
                        sb.AppendLine("Bank: " + Bank.FBankName + "\t" + Bank.FBankNo);
                        sb.AppendLine("Account: " + Bank.FAccountName + "\t" + Bank.FAccountNo);
                        sb.AppendLine("\n");

                        string strColumnHeaders = null;
                        int ColumnCount = this.dgvCheckdetails.ColumnCount;
                        if (IncludeColHeaders)
                        {
                            for (int j = 0; j <= ColumnCount - 2; j++)
                            {
                                if (j == 3 || j == 5)
                                {
                                    strColumnHeaders += "\t\t";
                                }
                                if (j != 4)
                                {
                                    strColumnHeaders += dgvCheckdetails.Columns[j].HeaderText + "\t";
                                }
                            }
                            sb.AppendLine(strColumnHeaders);
                        }
                        int rowcount = dgvCheckdetails.Rows.Count;
                        string strRow;
                        for (int i = 0; i <= rowcount - 1; i++)
                        {
                            strRow = null;
                            for (int j = 0; j <= ColumnCount - 2; j++)
                            {
                                if (j != 4)
                                    strRow += Convert.ToString(dgvCheckdetails.Rows[i].Cells[j].Value) + "\t";
                            }
                            sb.AppendLine(strRow);

                        }
                        File.WriteAllText(FileName, sb.ToString());
                        MessageBox.Show(CultureManager.GetMessageString("Export_Data_Successfully_Exported"));

如何对齐从导出的 .txt 文件中的列datagridview

4

1 回答 1

1

问题在于您的代码使用“\t”编写行来尝试对齐列。正确的方法是使用填充代替制表符。选项卡会根据数据的长度导致事情发生意外变化,而填充将考虑这一点并相应地缩放。

查看这个类似的 SO 帖子,它解释了一些关于填充的内容:

用 string.format 向左或向右填充

或此 MSDN 链接:

C#中的填充

于 2013-08-28T17:27:15.370 回答