您好,
我想读取和追加数据从SQL Server表到Excel。
值被正确读取,但数据不会被追加在excelsheet。
它说错误"无法读取文件"
我有1000多行的SQL语句..
这是什么问题吗?
看到我的代码
------------
ASPX.VB代码
------------ Partial Class AvailabilityReport
Inherits System.Web.UI.Page
Public Shared con As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("Emp").ConnectionString)
Public Shared cmd As SqlCommand
Dim dt As DataTable
Private Sub LoadData()
Dim dsMaster As DataSet
Dim sbViewDetails As New StringBuilder
Dim drDetails As SqlDataReader
Try
With sbViewDetails
.Append(BuildReportHeader())
drDetails = ExecuteReaderWithOutParam("SpEmpReport")
If drDetails .HasRows Then
While drDetails .Read()
.Append("<tr>")
.Append("<td>" & drDetails ("SrNo").ToString & "</td>")
.Append("<td>" & drDetails ("EmpNo").ToString & "</td>")
.Append("<td>" & drDetails ("Name").ToString & "</td>")
.Append("<td>" & drDetails ("Salary").ToString & "</td>")
.Append("<td>" & drDetails ("Join_Date").ToString & "</td>")
.Append("</tr>")
End While
Else
.Append("<tr><td colspan="9" align="center">No record found</td></tr>")
End If
.Append("")
divAvailabilityReport.InnerHtml = sbViewDetails.ToString()
ExportToExcel("Emp Report")
End With
Finally
If con.State = ConnectionState.Open Then
con.Close()
End If
End Try
End Sub
Private Function BuildReportHeader() As String
Dim Header As String
Header = "<table id="tblEmp" style="border:1px solid black;" width="100%" border="1" cellspacing="0" cellspading="1">"
Header &= "<tr style=" background-color: YELLOW;color: RED; removed: pointer; font-family: verdana; font-weight: boldfont-size: 10pt;">"
Header &= "<th> Sl.No </th>"
Header &= "<th> EmpNo </th>"
Header &= "<th> Name </th>"
Header &= "<th> Salary</th>"
Header &= "<th> Join Date </th>"
Header &= "</tr>"
Return Header
End Function
Protected Sub ExportToExcel(ByVal reportName As String)
Dim attachment As String = "attachment; filename=" & reportName & ".xls"
Response.ClearContent()
Response.AddHeader("content-disposition", attachment)
Response.ContentType = "application/ms-excel"
End Sub
Public Shared Function ExecuteReaderWithOutParam(ByVal spName As String) As SqlDataReader
cmd = New SqlCommand(spName, con)
cmd.CommandType = CommandType.StoredProcedure
Dim dr As SqlDataReader
con.Open()
dr = cmd.ExecuteReader()
Return dr
End Function
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
LoadData()
Catch ex As Exception
End Try
End Sub
End Class</table>
[编辑]代码块补充说,"对待我作为纯文本的内容......"选项禁用 - OriginalGriff [/编辑]