2012-04-18 13 views
-1

私のプロジェクトではCSVファイルを作成していますが、デザインを変更したいと思います。私を助けてください。次の図に示すようにVBを使用してCSVファイルをデザインするにはどうすればよいですか?

Private Sub ExportDataToCSV() 
    Dim fileName As String = "CheckRegistrationStatus_" & Format(Now, "yyyyMMddhhmms") & ".csv" 
    HttpContext.Current.Response.Clear() 
    ' Set the response headers to fit our CSV file 
    HttpContext.Current.Response.ContentType = "text/plain" 
    HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" & fileName) 
    Using writer As New System.IO.StreamWriter(HttpContext.Current.Response.OutputStream) 
     Dim columnHeader As String = String.Empty 
     For i As Integer = 0 To grd1.Columns.Count - 1 
      columnHeader += grd1.Columns(i).HeaderText & IIf(i < grd1.Columns.Count - 1, ",", "").ToString() 
     Next 
     writer.WriteLine(columnHeader) 
     'writer.WriteLine(AddCSVHeaderRow()) ' Only if you need custom headers to be added 
     ' Add all the data rows 
     For Each row As GridViewRow In grd1.Rows 
      writer.WriteLine(GetCSVLine(row.Cells)) 
     Next 
    End Using 
    ' End the current response. Otherwise, excel will open with the whole page inside. 
    HttpContext.Current.Response.End() 
End Sub 
Private Shared Function GetCSVLine(ByVal cellsToAdd As TableCellCollection) As String 
    Dim line As String = String.Empty 
    Dim isFirst As Boolean = True 
    For Each cell As TableCell In cellsToAdd 
     If Not isFirst Then 
      line += "," 
     End If 
     isFirst = False 
     line += """" & Replace(cell.Text, "&nbsp;", "") & """" 
    Next 
    Return line 
End Function 

出力が表示されています。しかし、ヘッダーを太字にして列の幅を広げたいと思います。私を助けてください。

enter image description here

答えて

2

できません。 CSVファイル形式はデータのみの形式です。フォント、列の幅、またはスタイリングに関連するその他のものを設定する方法はありません。

また、あなたのコードがすべてのデータを正しく処理しているとは思いません。たとえば、データまたは二重引用符にカンマがある場合は、特別な手順が必要です。 Here's some code I published for creating CSV files in C#

+0

感謝の私の提案を与えるために多くのジョナサン・ウッド! – Neeraj

関連する問題