你可以dataset 导入 excel参考
http://community.csdn.net/Expert/topic/3077/3077526.xml?temp=.8746912
http://www.dev-club.com/club/bbs/showEssence.asp?id=26350http://dev.csdn.net/Develop/article/18/18623.shtm
http://community.csdn.net/Expert/topic/3112/3112296.xml?temp=.926861
http://dotnet.aspx.cc/ShowDetail.aspx?id=BF0A54F9-C7C7-4200-BD9A-802AC1F5DE50
http://expert.csdn.net/Expert/TopicView1.asp?id=2928057www.foxhis.com/powermjtest/
原文代码:
private void Button1_Click(object sender, System.EventArgs e)
{
//写入Excel的方法:
//定义需要参数。
string SourceFile="Data.XLS"; //源文件名称。
string TemplatePath=Server.MapPath("ExcelTemplate"); //存放源文件的文件夹路径。
string DownloadPath=Server.MapPath("ExcelDownload"); //副本的文件夹路径。
//副本的文件名。
string TempFileName = DateTime.Now.ToString("yyyyMMdd") + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + ".XLS";
object missing = System.Reflection.Missing.Value;
Excel.Application myExcel=new Excel.Application();
//打开新文件
myExcel.Application.Workbooks.Open(TemplatePath+"\\"+SourceFile,missing,missing,missing,missing,
missing,missing,missing,missing,missing,missing, missing,missing);
Excel.Workbook myBook=myExcel.Workbooks[1];
Excel.Worksheet curSheet = (Excel.Worksheet)myBook.Sheets[2];
string DownloadFilePath=DownloadPath+"\\"+TempFileName;
int i=0;
while (i<=10)
{
myExcel.Cells[4+i,2]=i.ToString();
myExcel.Cells[4+i,3]=i.ToString();
myExcel.Cells[4+i,4]=i.ToString();
myExcel.Cells[4+i,5]=i.ToString();
myExcel.Cells[4+i,6]=i.ToString();
i++;
}
myBook.Saved=true;
//myBook.SaveAs(DownloadFilePath,missing,"","",false,false,Excel.XlSaveAsAccessMode.xlNoChange,1,false,missing,missing);
myBook.PrintPreview(0);
//myBook.PrintOut(missing,missing,missing,missing,missing,missing,missing,missing);
myBook.Close(false, null,null);
myExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(myBook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
myBook = null;
myExcel = null;
GC.Collect();
//Response.Redirect("ExcelDownload//"+TempFileName); //下载文件
}
http://community.csdn.net/Expert/topic/3077/3077526.xml?temp=.8746912
http://www.dev-club.com/club/bbs/showEssence.asp?id=26350http://dev.csdn.net/Develop/article/18/18623.shtm
http://community.csdn.net/Expert/topic/3112/3112296.xml?temp=.926861
http://dotnet.aspx.cc/ShowDetail.aspx?id=BF0A54F9-C7C7-4200-BD9A-802AC1F5DE50
http://expert.csdn.net/Expert/TopicView1.asp?id=2928057www.foxhis.com/powermjtest/
原文代码:
private void Button1_Click(object sender, System.EventArgs e)
{
//写入Excel的方法:
//定义需要参数。
string SourceFile="Data.XLS"; //源文件名称。
string TemplatePath=Server.MapPath("ExcelTemplate"); //存放源文件的文件夹路径。
string DownloadPath=Server.MapPath("ExcelDownload"); //副本的文件夹路径。
//副本的文件名。
string TempFileName = DateTime.Now.ToString("yyyyMMdd") + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + ".XLS";
object missing = System.Reflection.Missing.Value;
Excel.Application myExcel=new Excel.Application();
//打开新文件
myExcel.Application.Workbooks.Open(TemplatePath+"\\"+SourceFile,missing,missing,missing,missing,
missing,missing,missing,missing,missing,missing, missing,missing);
Excel.Workbook myBook=myExcel.Workbooks[1];
Excel.Worksheet curSheet = (Excel.Worksheet)myBook.Sheets[2];
string DownloadFilePath=DownloadPath+"\\"+TempFileName;
int i=0;
while (i<=10)
{
myExcel.Cells[4+i,2]=i.ToString();
myExcel.Cells[4+i,3]=i.ToString();
myExcel.Cells[4+i,4]=i.ToString();
myExcel.Cells[4+i,5]=i.ToString();
myExcel.Cells[4+i,6]=i.ToString();
i++;
}
myBook.Saved=true;
//myBook.SaveAs(DownloadFilePath,missing,"","",false,false,Excel.XlSaveAsAccessMode.xlNoChange,1,false,missing,missing);
myBook.PrintPreview(0);
//myBook.PrintOut(missing,missing,missing,missing,missing,missing,missing,missing);
myBook.Close(false, null,null);
myExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(myBook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
myBook = null;
myExcel = null;
GC.Collect();
//Response.Redirect("ExcelDownload//"+TempFileName); //下载文件
}
#region 将模板文件复制到一个新文件中
string root = System.Web.HttpContext.Current.Request.MapPath("../report_templet/");
string oldfilename=root+ "\\T_Form009.xls";
string filename = "../report_files/Form009_SC_"+sIPID+".xls";
string filename_map=System.Web.HttpContext.Current.Request.MapPath(filename);
string str_Mess="";
FileInfo mode=new FileInfo(oldfilename);object missing=Missing.Value;
GC.Collect();
Excel.Application myExcel=new Excel.Application();
//打开新文件
myExcel.Application.Workbooks.Open(filename_map,missing,missing,missing,missing,
missing,missing,missing,missing,missing,missing, missing,missing);
Excel.Workbook myBook=myExcel.Workbooks[1];
Excel.Worksheet curSheet = (Excel.Worksheet)myBook.Sheets[1];
//写数据到Excel
#region 保存文件、關閉Excel,並回收資源
myBook.Save();
myBook.Close(false, null,null);
myExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(myBook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
myBook = null;
myExcel = null;
GC.Collect();
#endregion
string UrlFiles="http://"+Request.ServerVariables["local_Addr"].ToString()+"/epay"+filename.Replace("\\","@@").Replace("..","");
Response.Write("<Script>window.open('../OpenExcel.asp?urlfile="+UrlFiles+"');</Script>");
2、做了一个asp文件
<%@LANGUAGE="VBSCRIPT"%>
<%
response.Expires=0
urlfile = replace(Request("urlfile"),"@@","/")
'事先把Url中的"/"改为"@@"
response.Write("如果不能启动 MS Excel,需要您的電腦安裝MS Excel 2000,<br>並修改 INTERNET EXPLORER 的安全性,<BR> 修改方法:打開 <BR> TOOLS --> <BR> INTERNER OPTION --> <BR> 安全 <BR> 選[自定層級]<br> 針對[起始但ActiveX控制項不標示為安全] 選[提示]。")%><script language="VBScript">
Set xlApp = CreateObject("EXCEL.APPLICATION")
xlApp.visible=true
Set xlbook = xlApp.Workbooks.Open("<%=urlfile%>")
Set xlsheet = xlbook.Worksheets(1)
window.close()
</script>
2、一个超连接指向你的word文件,自动就可以打开了
http://support.microsoft.com/default.aspx?scid=kb;EN-US;309158显示:Response.ContentType = "application/msword";
Response.BinaryWrite((byte[]) ds.Tables[0].Rows[0]["DOCDATA"]);//DOCDATA是存放word的字段名称,ds是取得指定条件的记录集
要在WEB页面上显示的话,首先客户机上要有WORD,再加上是个连接就行了
要在WEB页面上显示的话,首先客户机上要有WORD,再加上是个连接就行了!也可以转换为html标记,显示出来。
(2)..Net Framework SDK Beta 2
(3).Microsoft Access Data Component 2.6(MADC2.6) 二. 具体的设计思路 (1).获得要访问的Excel文件名称
(2).读出Excel文件的内容
(3).用DataGrid格式显示出来 下面就一些关键的步骤来具体说明。 三. 程序设计的关键步骤 (1).为了方便,我们就把Excel文件假定在C盘的根目录,名称为test.xls。
(2).为了读取Excel文件,我们必须了解一个名称空间(NameSpace)--System.Data.Oledb。System.Data.Oledb中有三个对象分别是OleDbConnection,OleDbCommand,OledbDataAdapter。我们就是通过他们来访问Excel文件的。 i> OleDbConnection对象主要是提供连接方式。
ii> OleDbCommand对象提供对目标的具体操作方法。
iii>OledbDataAdapter对象是对对象进行不同操作后的返回数据集。
为了读取C盘的test.xls只要以下语句就可以完成:Dim myOleDbConnection As OleDbConnection = New
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:\test.xls;" & _
"Extended Properties=""Excel 8.0;""")
Dim myOleDbCommand As OleDbCommand = New OleDbCommand("SELECT *
FROM [Sheet1$]",myOleDbConnection) "如果你想读出Sheet2的内容
,把Sheet1$改成Sheet2$即可
Dim myData As OledbDataAdapter= New
OledbDataAdapter(myOleDbCommand) (3).读出Excel文件内容后,就要把他用DataGrid显示出来。为了显示,还要用另外一个名称空间--System.Data。他里面有个对象DataSet,他可以和DataGrid进行数据帮定,从而以DataGrid形式显示数据。而此时读出的数据集并不是以对象DataSet来表现的,这就需要进行转换,好在OledbDataAdapter对象提供了一个方法--Fill,可以完成转换。具体程序如下:Dim myDataset As New DataSet()
myData.Fill(myDataset)
"完成从OledbDataAdapter对象到DataSet的转换
DataGrid1.DataSource = myDataset.Tables(0).DefaultView
DataGrid1.DataBind() "完成数据帮定,显示数据 四. 具体的源代码:<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Oledb" %>
<script language="VB" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
Dim myDataset As New DataSet()
Dim myOleDbConnection As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:\2.xls;" & _
"Extended Properties=""Excel 8.0;""")
Dim myOleDbCommand As OleDbCommand = New OleDbCommand("SELECT * FROM [Sheet1$]",myOleDbConnection)
Dim myData As OledbDataAdapter= New OledbDataAdapter(myOleDbCommand)
myData.Fill(myDataset)
DataGrid1.DataSource = myDataset.Tables(0).DefaultView
DataGrid1.DataBind()
End Sub
</script>
<html>
<head></head>
<body>
<asp:Label id="L1" runat="server">读取C盘根目录下的test.xls文件,并以DataGrid的形式显示出来</asp:label>
<asp:DataGrid id=DataGrid1 runat="server"/>
</body>
</html> 五. 总结
至此一个读取Excel文件的ASP.NET程序就全部完成了,如果你的机器达到以上提到的运行环境,那就建立一个指向此ASP.NET程序的Web虚拟目录,随便拷贝一个Excel文件到C盘的根目录,在浏览器运行一下程序,你就可以看到Excel文件内容了。
{
Stream fileDataStream = MyFile.PostedFile.InputStream; //得到文件大小
int fileLength = MyFile.PostedFile.ContentLength; //创建数组
byte[] fileData = new byte[fileLength]; //把文件流填充到数组
fileDataStream.Read(fileData,0,fileLength); //得到文件名字
string fileTitle = MyFileName.Value; //得到文件类型
string fileType = MyFile.PostedFile.ContentType; //构建数据库连接,SQL语句,创建参数
SqlConnection connection = new SqlConnection("Server=127.0.0.1;uid=sa;pwd=gotomis;Database=shop");
SqlCommand command = new SqlCommand ("INSERT INTO TestFiles (MyFileName,MyFile,FileType)" +
"VALUES (@MyFileName,@MyFile,@FileType)", connection); SqlParameter paramTitle = new SqlParameter ("@MyFileName", SqlDbType.VarChar,35);
paramTitle.Value = fileTitle;
command.Parameters.Add(paramTitle); SqlParameter paramData = new SqlParameter ("@MyFile", SqlDbType.Image);
paramData.Value = fileData;
command.Parameters.Add(paramData); SqlParameter paramType = new SqlParameter ("@FileType", SqlDbType.VarChar,25);
paramType.Value = fileType;
command.Parameters.Add(paramType); //打开连接,执行查询
connection.Open();
command.ExecuteNonQuery();
connection.Close(); Message.Text="你的文件已经成功上载";
MyFileName.Value = ""; }
<asp:HyperLink id=HyperLink1 runat="server" Width="72px" Text="文本显示" Target="_new" NavigateUrl=’<%# DataBinder.Eval(Container, "DataItem.wblj", "./{0}") %>’></asp:HyperLink>
当运行查询并在DataGrid框中显示查询记录时,点击"文本显示"列,即可显示当前目录下的wjk子目录下的1.doc文本文件。
老树(lsl)
//设置Reposne.ContentType
在sql server存放word内容的字段应定义为什么类型?
//SQL用image类型
SqlDataAdapter da = new SqlDataAdapter("Select imgField From MyImages", con);
DataSet ds = new DataSet();
da.Fill(ds,"MyImages");
Response.ContentType = "application/msword";
Response.BinaryWrite((byte[]) ds.Tables["MyImages"].Rows[0]["imgField"]);//imgField是存放word内容这是显示“按钮”里的一段代码,可是当点击该按钮时,出现文件下载的对话框。