‘壹’ asp.net实现将数据输出到word
public void Download()
{
Random rd = new Random();
string fileName = DateTime.Now.ToString("yyyyMMddhhmm") + rd.Next() + ".doc";
//存储路径
string path = Server.MapPath(fileName);
//创建字符输出流
StreamWriter sw = new StreamWriter(path, true, System.Text.UnicodeEncoding.UTF8);
//需要导出的内容
string str = "<html><head><title>无标题文档</title></head><body>这里放从数据库导出的word文档内容</body></html>";
//写入
sw.Write(str);
sw.Close();
Response.Clear();
Response.Buffer = true;
this.EnableViewState = false;
Response.Charset = "utf-8";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "application/octet-stream";
Response.WriteFile(path);
Response.Flush();
Response.Close();
Response.End();
}
标准word文档的格式微软暂未公布,由此我们可将需要导出的内容转为标准HTML文件储存,后缀名为.doc
也可以将要导出内容转为标准XML格式存储,改后缀为.doc
具体格式随意新建个word文档,输入内容,另存为.XML可见
另外一种导出方式为word导出标准格式,服务器需要安装Microsoft Office word,需要预先设置好一个word文档并在要插入内容的地方设置书签做为模版,导出word文档时需要先遍历模版文件中的所有书签,然后给书签赋值就能实现导出数据了
还有不懂的可以直接网络HI我
‘贰’ .net页面导出word不显示图片
用普通的保存成word的代码是不能实现的,我曾经是用c#引用Microsoft.Office.Interop.Word来创建word,才能在其中添加图片,不知道对你有没有用:
Object Nothing = System.Reflection.Missing.Value;
Directory.CreateDirectory("C:/CNSI"); //创建文件所在目录
string name = "CNSI_" + DateTime.Now.ToShortDateString()+ ".doc";
object filename = "C://CNSI//" + name; //文件保存路径
//创建Word文档
Application WordApp = new ApplicationClass();
Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);
//插入图片
string FileName = Server.MapPath("~/http_imgloadCADN55WM.jpg");//图片所在路径
object LinkToFile = false;
object SaveWithDocument = true;
object Anchor = WordDoc.Application.Selection.Range;
WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Anchor);
// WordDoc.Application.ActiveDocument.InlineShapes[1].Width = 100f;//图片宽度
// WordDoc.Application.ActiveDocument.InlineShapes[1].Height = 100f;//图片高度
//文件保存
WordDoc.SaveAs(ref filename, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
WordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
‘叁’ ASP.NET 页面内容导出word,图片不显示的问题。
首先要使用图片的绝对路径,如果还是没有看到图片,说明word没有internet链接,其实用html内容直接转word有这种问题是一定的。
如果是企业级的系统,是有必要购买一些好的html转word的第三方工具。不能只是html直接生成word文档,归根结底生成后的word文档其实还是html格式,只不过换了个后缀名而已。
‘肆’ asp.net MVC3.0中 如何把数据导出到WORD中
先用word建立好文档,然后存一个html,然后mvc把这个html中需要动态生成的部分用程序替换掉,输出文件头写成word,文件名.doc就行了
‘伍’ asp.net web页面导出word
asp.net
,web页面中的查询数据导出Word,实现思路
一:需要把自己查询后的结构组装成一张数据集,如DataTable或DataSet..
二:定义需要导出的字段与数据库所创建列对应
三:确定导出那张表,传如:表名
希望对你有用!
‘陆’ asp.net(C#) 导出到word excel [100分]
这个分我拿定了。和我以前做的一个功能很像。网站数据,转换成 淘宝数据包文件 (csv 或者 excel) private void bind_db()
{
DataSet ds = bus.GetGoodData(txt_start.Text,txt_end.Text);
this.Results.Columns.Add("g_name",typeof(string)); //宝贝名称
this.Results.Columns.Add("g_type",typeof(string)); //宝贝类目【50000671】
this.Results.Columns.Add("s_type",typeof(string)); //店铺类目【19165853】
this.Results.Columns.Add("g_old",typeof(string)); //新旧程度【5】
this.Results.Columns.Add("g_province",typeof(string)); //省【海外】
this.Results.Columns.Add("g_city",typeof(string)); //市【海外】
this.Results.Columns.Add("g_sell",typeof(string)); //出售方式【b】
this.Results.Columns.Add("g_price",typeof(string)); //宝贝价格【】
this.Results.Columns.Add("g_uprice",typeof(string)); //加价幅度【0】
this.Results.Columns.Add("g_count",typeof(string)); //宝贝数量【10000】
this.Results.Columns.Add("g_date",typeof(string)); //有效期【14】
this.Results.Columns.Add("g_posstake",typeof(string)); //运费承担【1】
this.Results.Columns.Add("g_poss",typeof(string)); //平邮【10】
this.Results.Columns.Add("g_ems",typeof(string)); //EMS【25】
this.Results.Columns.Add("g_express",typeof(string)); //快递【10】
this.Results.Columns.Add("g_pay",typeof(string)); //付款方式【0】
this.Results.Columns.Add("g_payment",typeof(string)); //支付宝【1】
this.Results.Columns.Add("g_receipt",typeof(string)); //发票【0】
this.Results.Columns.Add("g_guarantee",typeof(string)); //保修【0】
this.Results.Columns.Add("g_again",typeof(string)); //自动重发【1】
this.Results.Columns.Add("g_deport",typeof(string)); //放入仓库【0】
this.Results.Columns.Add("g_recommend",typeof(string)); //橱窗推荐【0】
this.Results.Columns.Add("g_pubtime",typeof(string)); //发布时间【1980-1-1 0:00:00】
this.Results.Columns.Add("g_story",typeof(string)); //心情故事【每天有个好心情!】
this.Results.Columns.Add("g_info",typeof(string)); //宝贝描述【】
this.Results.Columns.Add("g_img",typeof(string)); //宝贝图片【】
//20661:29444;20662:29914;20663:29448;20664:29920;20665:29454;20666:29937;20666:29457;20666:29938;20509:28314;20509:28315;20509:28383;20510:28320;20511:28386;
this.Results.Columns.Add("g_property",typeof(string)); //宝贝属性【】
this.Results.Columns.Add("g_team",typeof(string)); //团购价【0】
this.Results.Columns.Add("g_teamnum",typeof(string)); //最小团购件数【10】
this.Results.Columns.Add("g_posstype",typeof(string)); //邮费模版ID【10】
this.Results.Columns.Add("g_member",typeof(string)); //会员打折【0】
this.Results.Columns.Add("g_updatetime",typeof(string)); //修改时间【】
this.Results.Columns.Add("g_state",typeof(string)); //上传状态【100】
this.Results.Columns.Add("g_imgstate",typeof(string)); //图片状态【0】 for(int n=0;n<ds.Tables[0].Rows.Count;n++)
{
DataRow newrow = Results.NewRow();
newrow["g_name"] = ds.Tables[0].Rows[n]["g_id"].ToString() + ds.Tables[0].Rows[n]["g_name"].ToString();
newrow["g_type"] = "50000671";
newrow["s_type"] = "19165853";
newrow["g_old"] = "5";
newrow["g_province"] = "上海";
newrow["g_city"] = "上海";
newrow["g_sell"] = "b";
newrow["g_price"] = ds.Tables[0].Rows[n]["g_marketprice"].ToString();
newrow["g_uprice"] = "0";
newrow["g_count"] = ds.Tables[0].Rows[n]["g_count"].ToString();
newrow["g_date"] = "14";
newrow["g_posstake"] = "1";
newrow["g_poss"] = "10";
newrow["g_ems"] = "25";
newrow["g_express"] = "10";
newrow["g_pay"] = "0";
newrow["g_payment"] = "1";
newrow["g_receipt"] = "0";
newrow["g_guarantee"] = "0";
newrow["g_again"] = "1";
newrow["g_deport"] = "0";
newrow["g_recommend"] = "0";
newrow["g_pubtime"] = ds.Tables[0].Rows[n]["g_publishtime"].ToString();
newrow["g_story"] = "每天有个好心情!";// string Ginfo = ds.Tables[0].Rows[n]["g_info"].ToString();
// Ginfo = System.Text.RegularExpressions.Regex.Replace(Ginfo,"/<(font|\\/font).*?(?!align).*?>/ig","");
// // Ginfo = System.Text.RegularExpressions.Regex.Replace(Ginfo,"<[^>]+>","");
// newrow["g_info"] = Ginfo;
// //newrow["g_info"] = System.Text.RegularExpressions.Regex.Replace(Ginfo,"<[^>]+>","");
newrow["g_info"] = ds.Tables[0].Rows[n]["g_info"].ToString().Replace("<","<").Replace(">",">");
//Info有字数限制。。。。。。。。。。。。。
newrow["g_img"] = @"F:\SootaoData\" + ds.Tables[0].Rows[n]["g_img"].ToString() + ".jpg";
newrow["g_property"] = "20661:29444;20662:29914;20663:29448;20664:29920;20665:29454;20666:29937;20666:29457;20666:29938;20509:28314;20509:28315;20509:28383;20510:28320;20511:28386";
newrow["g_team"] = "0";
newrow["g_teamnum"] = "10";
newrow["g_posstype"] = "10";
newrow["g_member"] = "0";
newrow["g_updatetime"] = "";
newrow["g_state"] = "100";
newrow["g_imgstate"] = "0"; Results.Rows.Add(newrow); PagedDataSource ps = new PagedDataSource();
ps.DataSource = Results.DefaultView;
dg_data.DataSource = ps;
dg_data.DataBind();
//fileRead.Close();
}
}
‘柒’ asp.net页面导出word后样式问题
要达到这种效果,把生成的简历的内容都放在一个table里,然后用JS导出。
给你个例子参考。表格中可以包括图片等元素,都可以正常导出。
<table width="100%" border="1" id = "PrintA">
<tr>
<td>dfsdfds</td>
<td>&dsfds</td>
<td>&sdf;</td>
<td><img src="1.jpg"/></td>
</tr>
<tr>
<td>dsf</td>
<td>dsfds</td>
<td>fsdfdsfdsf</td>
<td>dsfs</td>
</tr>
<tr>
<td>dsfds</td>
<td>dsf</td>
<td>dsfd</td>
<td>sfds</td>
</tr>
<tr>
<td></td>
<td>sdf</td>
<td>fdsf</td>
<td></td>
</tr>
</table>
<input type="button" onclick="javascript:AllAreaWord();" value="导出页面指定区域内容到Word">
<script type="text/javascript" language="javascript">
//指定页面区域内容导入Word
function AllAreaWord()
{
var oWD = new ActiveXObject("Word.Application");
var oDC = oWD.Documents.Add("",0,1);
var oRange =oDC.Range(0,1);
var sel = document.body.createTextRange();
sel.moveToElementText(PrintA);
sel.select();
sel.execCommand("Copy");
oRange.Paste();
oWD.Application.Visible = true;
//window.close();
oWD.ActiveWindow.ActivePane.View.Type=3
oWD.Application.close;
}
</SCRIPT>
</body></html>
‘捌’ .net如何批量导出word
在列表页面导出所有明细数据?
1、保证在列表页面能够获取到所有的明细数据
2、添加一个导出按钮,在按钮的事件中写导出的代码
一般导出需要三个步骤①打开与OFFICE的连接②创建一个操作Word的对象③在这个对象中填充你的数据
如果是要求导出多个Word的话,将步骤②放在一个循环中就可以了。
‘玖’ asp.net 导出word图片显示问题
注意:我的代码。
<div>
<asp:GridView ID="GridView1" runat="server"
ShowFooter="True">
</asp:GridView>
<asp:HiddenField ID="HiddenField1" runat="server" />
</div>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
protected void Button1_Click(object sender, EventArgs e)
{
foreach (Control c in form1.Controls)
{
HiddenField hf = c as HiddenField;
if (hf != null)
{
hf.Visible = false;
}
}
Response.AddHeader("content-disposition", "inline; filename=1.doc");
Response.ContentType = "application/msword";
}
‘拾’ asp.net导出word自定义格式
循环(for循环或者foreach)读取数据再插入word,首先在顶端写入会议名称和会议时间,count为15的整倍数时,接着在后面生成分隔符(分页符)