山谷 - 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>