閲覧総計:7103  (本日:1  昨日:4)

 ASP.NETでのCSVファイルの読込みの方法を確認した。 09/09/22

↓参考にしたページ:「CSVファイルを読み込むには?」06/08/16
http://www.atmarkit.co.jp/fdotnet/dotnettips/487csvparser/csvparser.html

 .NET Framework2.0からTextFieldParserクラス(Microsoft.VisualBasic.FileIO
名前空間)が提供されCSVファイルのハンドリングが非常に簡単になっている。

(背景)
 ASP.NET開発はSQL Server等のDBMSを利用する事が前提になっており、CSVファイル
の読込み方法はあまり紹介されていない。エクセルデータをASP.NETで扱いたい場合、
CSVファイルを介在することが多いので、今回確認した。

開発環境:VWD2005+AJAX1.0+Toolkit + SQL Server2005
サーバ:ASP.NET2.0+AJAX1.0 + SQL Server2005

【稼動サンプル】
http://www.kuri6005.fscs.jp/4AspNet10/Csv/CsvRead.aspx

CsvRead.JPG

※csvファイル(text.csv(S_JIS保存))は、プログラムと同じフォルダ内に置く。

コントロールの設定値

コントロールプロパティコメント
TextBox1TextModeMultiLine複数行表示に設定

【CsvRead.aspx】

<%@ Page Language="VB" %>
<%@ Import Namespace = "Microsoft.VisualBasic.FileIO" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    '↓参考にしたページ:「CSVファイルを読み込むには?」 06/08/16
    'http://www.atmarkit.co.jp/fdotnet/dotnettips/487csvparser/csvparser.html
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        
        Dim parser As New TextFieldParser(Server.MapPath("text.csv"), _
            System.Text.Encoding.GetEncoding("Shift_JIS"))
        
        parser.TextFieldType = FieldType.Delimited '固定長データではなく可変長データを宣言
        parser.SetDelimiters(",") ' 区切り文字はコンマ
        
        While Not parser.EndOfData
            Dim row As String() = parser.ReadFields() '1行読み込み
            ' 配列rowの要素は読み込んだ行の各フィールドの値
            
            For Each field As String In row
                field = field.Replace(vbCrLf, "n") ' 改行をnで表示
                field = field.Replace(" ", "_") ' 空白を_で表示
                'Console.Write(field + vbTab) ' TAB区切りで出力
                TextBox1.Text &= field & vbTab
            Next
            'Console.WriteLine()
            TextBox1.Text &= vbCrLf
        End While
    End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>無題のページ</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        CSVファイルの読込み稼働確認 09/09/21<br />
        <br />
        <asp:TextBox ID="TextBox1" runat="server" Height="120px" TextMode="MultiLine" Width="271px"></asp:TextBox></div>
    </form>
</body>
</html>

選択肢 投票
参考になった 0  
ふつう 0  
参考にならなかった 0  

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS