用ado.net对word,excel进行存取

ado|excel|word

blob表

3 id int 4 0
0 name char 50 1
0 blob image 16 1
0 type char 60 1

saveFile.aspx.cs

private void Button1_Click(object sender, System.EventArgs e)
{
Stream imgdatastream = File1.PostedFile.InputStream;
int imgdatalen = File1.PostedFile.ContentLength;
string imgtype = File1.PostedFile.ContentType;
string name = this.getFileNameByURL(this.File1.PostedFile.FileName);
byte[] imgdata = new byte[imgdatalen];
int n = imgdatastream.Read(imgdata,0,imgdatalen);
string connstr = "workstation id=OVERMIND;packet size=4096;user id=sa;password=sa;data source=OVERMIND;persist security info=False;initial catalog=wztj";
SqlConnection connection = new SqlConnection(connstr);
SqlCommand command = new SqlCommand("INSERT INTO blob(name,type,blob) VALUES ( @imgtitle, @type,@blob )", connection );
SqlParameter paramTitle = new SqlParameter("@imgtitle", SqlDbType.VarChar,50 );
paramTitle.Value = name;
command.Parameters.Add(paramTitle);
SqlParameter paramData = new SqlParameter( "@blob", SqlDbType.Image );
paramData.Value = imgdata;
command.Parameters.Add( paramData );
SqlParameter paramType = new SqlParameter( "@type", SqlDbType.VarChar,50 );
paramType.Value = imgtype;
command.Parameters.Add( paramType );
wztj.debug.TestSQL.TraceErrorSql("INSERT INTO blob(name,type,blob) VALUES ( @imgtitle, @type,@blob )",command.Parameters);
connection.Open();
int numRowsAffected = command.ExecuteNonQuery();
connection.Close();
}

listFile.aspx//这个东西主要用来列表,把已经有的东西列出来

<asp:HyperLinkColumn DataNavigateUrlField="id" HeaderText="产品名称" DataNavigateUrlFormatString="./getFile.aspx?ID={0}" DataTextField="name" DataTextFormatString="{0}" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="160px">

listFile.aspx.cs

string connstr="workstation id=OVERMIND;packet size=4096;user id=sa;password=sa;data source=OVERMIND;persist security info=False;initial catalog=wztj";
SqlConnection connection = new SqlConnection(connstr);
SqlCommand command = new SqlCommand("select * from blob", connection );
connection.Open();
SqlDataAdapter adaptor = new SqlDataAdapter(command);
DataSet ds = new DataSet();
adaptor.Fill(ds,"blob");
connection.Close();
this.DataGrid1.DataSource=ds.Tables["blob"].DefaultView;
this.DataGrid1.DataBind();

getFile.aspx.cs//这个文件比较重要负责把村道数据库里面的文件,按照格式,按照名称,给传输出来

private void Page_Load(object sender, System.EventArgs e)
{
string imgid =this.Request.QueryString.Get("ID");
//Request.QueryString["imgid"];
string connstr="workstation id=OVERMIND;packet size=4096;user id=sa;password=sa;data source=OVERMIND;persist security info=False;initial catalog=wztj";
string sql="SELECT name,blob, type FROM blob WHERE id = " + imgid;
SqlConnection connection = new SqlConnection(connstr);
SqlCommand command = new SqlCommand(sql, connection);
connection.Open();
SqlDataReader dr = command.ExecuteReader();
if(dr.Read())
{
Response.Clear();
Response.Buffer= true;
Response.Charset="GB2312";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
//Response.ContentType = "application/ms-word";//设置输出文件类型为word文件。
Response.ContentType = dr["type"].ToString();
Response.BinaryWrite( (byte[]) dr["blob"] );
string FileName = dr["name"].ToString().Trim();
FileName=System.Web.HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8 );
Response.AppendHeader("Content-Disposition", "attachment;filename="+FileName);
}
connection.Close();
}

这里要说的有两点,第一,就是把文件的名称getFile.aspx变成我们想要的名称。

Response.AppendHeader("Content-Disposition", "attachment;filename="+FileName);

第二,就是把指定的名称变成我们想要的值,是标准的中文,而不是中文的乱码。

FileName=System.Web.HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8 );

时间: 2024-12-21 22:06:45

用ado.net对word,excel进行存取的相关文章

android打开pdf ppt word excel chm html text 文件的intent

以下代码未经测试.但是有我想找的,先贴过来,慢慢了解-- import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.net.Uri.Builder; import java.io.File; import android.content.Intent; //自定义android Intent类, //可用于获取打开以下文件的intent //PDF,PPT,

WORD/EXCEL内容替换

最近,在做一个小项目时,需要用到Word/Excel(目前只针对Office2003)文档中内容的替换,在网上搜寻了一番,找到了一些解决方法,自己再整理了一下,记录出来与大家共享. 1.在项目的引用中添加WORD和EXCEL的COM引用:Microsoft.Word 11.0 Object Library和Microsoft.Excel 11.0 Object Library: 2.在文件的USING部分加入以下命名空间: using Microsoft.Office.Core; using M

Word/Excel/PDF文件转换成HTML整理

项目开发过程中,需求涉及到了各种文档转换为HTML或者网页易显示格式,现在将实现方式整理如下: 一.使用Jacob转换Word,Excel为HTML "JACOB一个Java-COM中间件.通过这个组件你可以在Java应用程序中调用COM组件和Win32 libraries." 首先下载Jacob包,JDK1.5以上需要使用Jacob1.9版本(JDK1.6尚未测试),与先前的Jacob1.7差别不大 1.将压缩包解压后,Jacob.jar添加到Libraries中: 2.将Jacob

谷歌浏览器Chrome如何直接打开Word, Excel和PPT文档

Chrome浏览器经过谷歌浏览器开发团队的不断更新和优化,如今已经成为最受欢迎的浏览器之一(谁才是最受欢迎的浏览器?).之所以有如此之多的人在使用Chrome的原因可能是,首先,简单舒服的界面;其次,非常快的速度,某些评测报告甚至会认为它是最快的浏览器,当然不同的报告结果会不一样;第三,支持扩展,Web应用程序,比如能够直接打开PDF文档. 但有一点很可惜的是Chrome无法直接打开微软Office文档,原因不言自明--微软Office不是开源的软件,但幸运的是我们可以通过安装第三方扩展实现这一

巧用WORD EXCEL批量整理网页图片

  经常遇见这种情况,网页上有很多对自己有用的图片素材,用保存网页的办法保存下载后,在相关文件夹中找到图片素材,确实以无规则的数字命名的图片.如果图片数量少,我们可以一次打开识别,命名,但是数量太多,这种方法不经济.那么时候用更好的批量命名图片的方法? (众多需要重命名的图片) 巧用WORD EXCEL批量整理网页图片步骤 其实我们可以通过Word和Excel工具批量更改图片名称,操作稍微复杂些,但是如果图片比较多,这种方法效率高,能节约不少时间. 1. 理清表格很重要 由于这个页面中所包含的信

web在线编辑word,excel,pdf插件-----WebOffice 文档控件API

目    录       一.工作原理...5 1.1         开发流程...5 1.2         WEB页面调用控件:.6 二.接口说明...7 2.1         接口...7 2.1.1     AboutBox.7 2.1.2     AcceptAllRevisions.7 2.1.3     CloseDoc.7 2.1.4     DelLocalFile.8 2.1.5     GetDocumentObject.8 2.1.6     GetFieldValu

如何实现对word,excel操作题实现自动判卷功能

问题描述 能否实现对word,excel操作题实现自动判卷功能,主要是在计算机应用考试中,需要对word,excel进行编辑,排版等,有没有可以实现这样的自动判卷功能,感谢各位支持一下.

PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)_php技巧

本文实例讲述了PHP实现仿百度文库,豆丁在线文档效果.分享给大家供大家参考,具体如下: 由于项目要实现类似百度文库的功能,又是我一个人做的项目,所以就想到找免费的现成的来使用.在网上找到的都是一样的.如下: Flash Paper支持Office文档(.doc,.xls,.ppt)直接转换为PDF或SWF,速度很快,效果较好.可惜,Flash Paper V2.2后没有再更新了.安装Flash Paper后,可以直接使用命令调用FlashPrinter.exe,实现批量转换. 例如:C:\Fla

求如何读取word,excel的打印页数的方法

问题描述 用vb.net实现,读取word,excel的打印页数的方法 解决方案 解决方案二:intPages=CInt(WObj.Selection.Information(Word.WdInformation.wdNumberOfPagesInDocument))'获取总页数 这是Word的,我想Excel差不多吧?解决方案三:打印机设置的不同,页数也不同吧.解决方案四:mark解决方案五:如果打印的是数据库数据的话,你可以试着按照每页的记录数和总共要打印的记录数粗略获取页数