如何把一页面导出成一个文件(doc,excel,pdf的都可以)

sportdog 2005-04-28 02:06:26
我现在根据数据库里的数据显示出一页面(a.aspx),这页面有些文字描述及图片之类的东西,现在想在页面上加一导出按钮,把页面上显示的东西存成一文件(到时就把这文件发给用户就可以了).


有谁能帮帮我?
...全文
407 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyq2099 2005-04-28
  • 打赏
  • 举报
回复
学习
hchxxzx 2005-04-28
  • 打赏
  • 举报
回复
大家别把问题搞复杂了,我只是想把当前页面另存为**.mht的文件就可以了,ie自带的WebBrowser不知能解决该问题吗?
---------------------
IE里面,"文件"-"另存为"-选择"mht",保存即可.
sportdog 2005-04-28
  • 打赏
  • 举报
回复
大家别把问题搞复杂了,我只是想把当前页面另存为**.mht的文件就可以了,ie自带的WebBrowser不知能解决该问题吗?
owenbeckham 2005-04-28
  • 打赏
  • 举报
回复
Response.Clear();
Response.Buffer= true;
Response.Charset="GB2312";
Response.AppendHeader("Content-Disposition","attachment;filename=FileName.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
//设置输出流为简体中文
Response.ContentType = "application/ms-excel";
//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.dgData.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
sportdog 2005-04-28
  • 打赏
  • 举报
回复
<input onclick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存为 name=Button2 ID="Button2">

各位老大,
document.all.WebBrowser.ExecWB(4,1)就和ie的另存一样,如何让用户保存的是单一文件呢?
也就是你点击另存时叫你选的保存类型一定要为.mht的,我该传啥如何写呢?
weddingin2008 2005-04-28
  • 打赏
  • 举报
回复
踩一脚,我参与的问题。
leonkim 2005-04-28
  • 打赏
  • 举报
回复
<a href="#" onclick=document.execCommand("saveAs")>另存为</a>
leonkim 2005-04-28
  • 打赏
  • 举报
回复
可不可以用Javascript调用IE的菜单->另存为
goody9807 2005-04-28
  • 打赏
  • 举报
回复
你可以dataset 导入 excel参考
http://community.csdn.net/Expert/topic/3077/3077526.xml?temp=.8746912
http://www.dev-club.com/club/bbs/showEssence.asp?id=26350

http://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=2928057

www.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); //下载文件
}

aioria 2005-04-28
  • 打赏
  • 举报
回复
可以使用Excel的iqy导出功能,如下:

string strFileName,strURL;

strURL = "http://www.testsite.com";
strFileName = "export.iqy";

//打开一个文件进行写入内容
StreamWriter sw;
sw=File.CreateText(Server.MapPath(strFileName));
sw.WriteLine("WEB");
sw.WriteLine("1");
sw.WriteLine(strURL);
sw.WriteLine("Selection=AllTables");
sw.WriteLine("Formatting=All");
sw.WriteLine("PreFormattedTextToColumns=True");
sw.WriteLine("ConsecutiveDelimitersAsOne=True");
sw.WriteLine("SingleBlockTextImport=False");
sw.WriteLine("DisableDateRecognition=False");
sw.WriteLine("DisableRedirections=False");
sw.Close();

Response.Redirect(strFileName);
hchxxzx 2005-04-28
  • 打赏
  • 举报
回复
看看这段代码,参考

string _strfile;

System.IO.StringWriter uread = null;
System.Web.HttpResponse uresp = null;
System.Web.UI.HtmlTextWriter usend = null;

_strfile = "excel.XLS";

uresp = this.Page.Response;
uresp.Clear();
uresp.Buffer = true;
uresp.AppendHeader("Content-Disposition", "attachment;");
uresp.ContentType = "application/vnd.ms-excel";
this.Page.EnableViewState = false;
uresp.Charset = "";
uresp.ContentEncoding = System.Text.Encoding.UTF8;

uread = new System.IO.StringWriter();
usend = new System.Web.UI.HtmlTextWriter(uread);
this.DataGrid1.RenderControl(usend);

uresp.Write(uread.ToString());
uresp.End();

uread.Close();
usend.Close();
uread = null;
usend = null;
uresp = null;
sunnystar365 2005-04-28
  • 打赏
  • 举报
回复
我这段代码是把DataGrid里的数据导成Excel,希望对你的页面导出也有帮助
Response.Clear();
Response.Buffer= true;
Response.Charset="GB2312";
Response.AppendHeader("Content-Disposition","attachment;filename=FileName.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
//设置输出流为简体中文
Response.ContentType = "application/ms-excel";
//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.dgData.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
wanggang668 2005-04-28
  • 打赏
  • 举报
回复
我也想知道
网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。   Bootcfg   bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。   含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。   用法:   bootcfg /default  设置默认引导项。   bootcfg /add    向引导列表中添加 Windows 安装。   bootcfg /rebuild  重复全部 Windows 安装过程并允许用户选择要添加的内容。   注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。   bootcfg /scan    扫描用于 Windows 安装的所有磁盘并显示结果。   注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。   bootcfg /list   列出引导列表中已有的条目。   bootcfg /disableredirect 在启动引导程序中禁用重定向。   bootcfg /redirect [ PortBaudRrate] |[ useBiosSettings]   在启动引导程序中通过指定配置启用重定向。   范例: bootcfg /redirect com1 115200 bootcfg /redirect useBiosSettings   hkdsk   创建并显示磁盘的状态报告。Chkdsk 命令还可列出并纠正磁盘上的错误。   含有下列参数的 chkdsk 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 chkdsk 命令。   vol [drive:] [ chkdsk [drive:] [/p] [/r]   参数  无   如果不带任何参数,chkdsk 将显示当前驱动器中的磁盘状态。 drive: 指定要 chkdsk 检查的驱动器。 /p   即使驱动器不在 chkdsk 的检查范围内,也执行彻底检查。该参数不对驱动器做任何更改。 /r   找到坏扇区并恢复可读取的信息。隐含着 /p 参数。   注意 Chkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart   创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。   diskpart [ /add |/delete] [device_name |drive_name |partition_name] [size]   参数 无   如果不带任何参数,diskpart 命令将启动 diskpart 的 Windows 字符模式版本。   /add   创建新的分区。   /delete   删除现有分区。   device_name   要创建或删除分区的设备。设备名称可从 map 命令的输出获得。例如,设备名称:   DeviceHardDisk0   drive_name   以驱动器号表示的待删除分区。仅与 /delete 同时使用。以下是驱动器名称的范例:   D:   partition_name   以分区名称表示的待删除分区。可代替 drive_name 使用。仅与 /delete 同时使用。以下是分区名称的范例:   DeviceHardDisk0Partition1    大小   要创建的分区大小,以兆字节 (MB)表示。仅与 /add 同时使用。   范例   下例将删除分区: diskpart /delete Device HardDisk0 Partition3 diskpart /delete F:   下例将在硬盘上添加一个 20 MB 的分区:   diskpart /add Device HardDisk0 20   Fixboot

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧