簡體   English   中英

從datagridview導出為.txt時,文本文件格式不正確。

[英]Text file format is not correct when exporting to .txt from datagridview.

我有一個包含某些記錄的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"));

如何對齊從datagridview導出的.txt文件中的列?

問題出在您的代碼中,使用“ \\ t”寫行以嘗試對齊列。 正確的方法是使用填充代替制表符。 制表符將導致事情根據數據長度發生意外變化,而填充將說明這一點並相應縮放。

看看這個類似的SO帖子,它解釋了有關填充的一些信息:

用string.format向左或向右填充

或此MSDN鏈接:

用C#填充

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM