自由之声论坛

首页 » 学习园地 » 数字家园 » 编程园地 » ASP.NET 处理客户端的Excel文件
山谷 - 2008-1-14 16:16:00
首先需要用户将客户端的Excel文件上传到服务器上;然后读取服务器上的Excel文件,并绑定到界面上的DataGrid
view plaincopy to clipboardprint?
'-------------------------上传客户端机器上的Excle文件到服务器 
<SCRIPT language=VB Ruant="Server"> 
    Sub Upload(Sender as Object,e as Eventargs) 
        if myFile.PostedFile.ContentLength=0 then 
            Result.Text="上传失败或者指定的文件不存在!" 
            FileInfo.Visible=False 
        else 
            '获取文件名 
            Dim Route() as string=split(myFile.PostedFile.Filename,"") 
            Dim FileName as String=Route(Route.Length-1) 
             
            '保存文件 
             
            '建立一个新的文件夹(以当前的时间为文件夹名称) 
            dim dirpath as string=Server.MapPath("./") & now.toLongString 
            if directory.exists(dirpath)=false 
                directory.create(dirpath) 
            end if 
             
            '保存用户上传的文件到新建的文件夹 
            myFile.PostedFile.SaveAs(Server.MapPath(".") & "Files" & FileName) 
             
            '显示上传结果 
            FillInfo.Visible=True 
            Result.Text="上传成功!" 
            FName.Text=FileName 
            FSize.Text=Math.Round(myFile.PostedFile.ContentLength / 1024,2) & KB 
            Ftype.Text=myFile.PostedFile.ContentType 
        end if 
 
'-------------------------将上传到服务器上的Excel文件加载到界面 
                  Dim strConnExcel As String 
                                    strC & "Data Source=" & strFileName & ";" & "Extended Properties=Excel 8.0;" 
                                    Dim connExcel As OleDb.OleDbConnection = New OleDb.OleDbConnection(strConnExcel) 
                                  Try 
                                            Dim strExcel As String = "select 交易时间 as dDate,借方发生额 as md,贷方发生额 as mc,摘要 as Remark,本方账号 as pk_Bank from [sheet1$]" 
                                            Dim dt As New DataTable 
                                            connExcel.Open() 
                                            Dim adapter As OleDbDataAdapter = New OleDbDataAdapter(strExcel, connExcel) 
                                            adapter.Fill(dt) 
                                            Me.gbVouchList.DataSource = dt 
                                            Me.gbVouchList.DataBind() 
        Catch ex As Exception 
#If DEBUG Then 
            Session("Error") = ex.ToString() 
            Response.Redirect("error.aspx") '跳转程序的公共错误处理页面 
#End If 
        Finally 
            connExcel.Close() 
            connExcel.Dispose() 
        End Try 
         
    End Sub 
 
</SCRIPT> 
 
<HTML> 
    <HEAD> 
         
     
     
        <FORM encType="Multipart/form -data" Ruant="Server"> 
            <CENTER> 
                文件位置: 
                <INPUT id=MyFile type=file accept=application/xls size=50 Ruant="Server"><BR><BR> 
 
                <ASP onclick=Upload Ruant="Server" Button Text="上传" /> 
                <INPUT type=reset value=重新设置> 
                <HR><H1><ASP: id=Result Label="Server" /></H1> 
            </CENTER> 
            <?XML:NAMESPACE PREFIX = ASP /><ASP:Panel id=FileInfo Ruant="Server" Visible="False"> 
                文件名称:<ASP: id=FName Label="Server" /> 
                文件大小:<ASP: id=FSize Label="Server" /> 
                文件类型:<ASP: id=Ftype Label="Server" /> 
 
            </ASP:Panel> 
<asp:datagrid id=gbVouchList runat="server" Width="100%" ForeColor="Black" BorderColor="#A0ABEB" BorderStyle="Solid" BorderWidth="1px" GridLines="Vertical" BackColor="White" CellPadding="4" AllowSorting="True" AutoGenerateColumns="False" Horiz ShowFooter="True"> 
                                <FOOTERSTYLE ForeColor="White" BackColor="#6876C5" Height="25px"></FOOTERSTYLE> 
                                <SELECTEDITEMSTYLE ForeColor="Black" BackColor="Blue"></SELECTEDITEMSTYLE> 
                                <ALTERNATINGITEMSTYLE BackColor="#EEEEEE"></ALTERNATINGITEMSTYLE> 
                                <HEADERSTYLE ForeColor="White" BorderColor="#6876C5" BackColor="#6876C5" Horiz></HEADERSTYLE> 
                                <COLUMNS> 
                                    <asp:BoundColumn DataField="dDate" SortExpression="dDate" HeaderText="交易时间"> 
                                        <HEADERSTYLE Width="10%" Wrap="False"></HEADERSTYLE> 
 
                                        <ITEMSTYLE Horiz Wrap="False"></ITEMSTYLE> 
                                    </asp:BoundColumn> 
                                    <asp:BoundColumn DataField="md" HeaderText="借方发生额" DataFormatString="{0:c}"> 
                                        <HEADERSTYLE Width="15%" Wrap="False"></HEADERSTYLE> 
                                        <ITEMSTYLE Horiz Wrap="False"></ITEMSTYLE> 
                                    </asp:BoundColumn> 
                                    <asp:BoundColumn DataField="mc" HeaderText="贷方发生额" DataFormatString="{0:c}"> 
                                        <HEADERSTYLE Width="15%" Wrap="False"></HEADERSTYLE> 
                                        <ITEMSTYLE Horiz Wrap="False"></ITEMSTYLE> 
 
                                    </asp:BoundColumn> 
                                    <asp:BoundColumn DataField="Remark" SortExpression="Remark" HeaderText="摘要"> 
                                        <HEADERSTYLE Width="30%" Horiz Wrap="False"></HEADERSTYLE> 
                                        <ITEMSTYLE Horiz Wrap="False"></ITEMSTYLE> 
                                    </asp:BoundColumn> 
                                    <asp:BoundColumn Visible="False" DataField="pk_Bank" SortExpression="pk_Bank" HeaderText="本方帐号"> 
                                        <HEADERSTYLE Horiz Wrap="False"></HEADERSTYLE> 
                                        <ITEMSTYLE Horiz Wrap="False"></ITEMSTYLE> 
                                    </asp:BoundColumn> 
 
                                </COLUMNS> 
                                <PAGERSTYLE ForeColor="Blue" BackColor="White" Horiz Position="Top" Mode="NumericPages"></PAGERSTYLE> 
                            </asp:datagrid> 
        </FORM>
1
查看完整版本: ASP.NET 处理客户端的Excel文件