最近做"试卷生成系统"在快要完工阶段,遇到这样一个问题。
经过组卷后,需得用asp.net要生成一张(word文档)试卷(试卷上的内容为动态读取数据库试题,且试尺寸跟现实生活中尺寸一样,因为要支持在线打印吗)。
试卷上的排版为不规则排版,还有试卷左边那个文字横着写的。请问怎样用asp.net在线导出word文档呀我在网上查了好多资料,写得都很模糊请高手帮我解决一下。。谢谢了。
另有个问题是我随机生成的题有可能文字不一样多。这样的话。试卷上的排版应该有个算法吧。。请高手指点。。
经过组卷后,需得用asp.net要生成一张(word文档)试卷(试卷上的内容为动态读取数据库试题,且试尺寸跟现实生活中尺寸一样,因为要支持在线打印吗)。
试卷上的排版为不规则排版,还有试卷左边那个文字横着写的。请问怎样用asp.net在线导出word文档呀我在网上查了好多资料,写得都很模糊请高手帮我解决一下。。谢谢了。
另有个问题是我随机生成的题有可能文字不一样多。这样的话。试卷上的排版应该有个算法吧。。请高手指点。。
解决方案 »
- Linq怎么去掉重复名称的数据?
- dropdownlist 触发SelectedIndexChanged事件后,dropdownlist显示的内容不变--在线急等!!
- 请问谁有静态页面生成技术的方法
- 。net播放音乐问题
- ASP.NET中分割窗体:左面一个,最上面一个右面一个?
- javascript在frame之间传值
- 请问一个正则表达式的问题?如何让文本框只能输入年月,如200512?
- QQ是C/S 结构的吗? 它能实施的查看用户状态,不像浏览器的无状态性
- 一个困扰了我很长时间的ASP.NET配置问题
- 请教一个JAVASCRIPT的简单问题。
- 我在用VS.NET编程时,也不知点了什么按钮,搞的每个控件的左上方出现一个小图标,图标中画有一个向右的绿色箭头,怎样将其去掉?
- 数据库存储图片/word文档,各位是怎么处理的?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>OutPutExcel</title>
</HEAD>
<link rel="stylesheet" href="Style.css" type="text/css">
<body>
<form width="120%" id="Form1" method="post" runat="server">
<table width="120%"><tr><td>
<asp:datagrid
id="DataGrid1"
bgcolor="#efefef"
HeaderStyle-BackColor="#718BD6"
HeaderStyle-ForeColor="#FFFF66"
AlternatingItemStyle-BackColor="#FFFFFF"
itemstyle-backcolor="#FFFFFF"
runat="server">
<ItemStyle HorizontalAlign="center" Height="20"></ItemStyle>
<Columns> </Columns>
</asp:datagrid>
</td></tr></table>
<P>
<asp:button id="BtnImportWord" runat="server" Text="轉到WORD"></asp:button></P>
</form>
</body>
</HTML>
-------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Data.SqlClient ;
using System.Text;
using System.Configuration;namespace DataGrid_import_WordExcel
{ public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button BtnImportWord;
protected System.Web.UI.WebControls.Button Btn_Import_Excel;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
public DataRow dr;
private DataSet myDS =new DataSet();private void Page_Load(object sender, System.EventArgs e)
{
Data_Load();
}
#region Web 敦极扢數?汜傖腔測鎢
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
} private void InitializeComponent()
{
this.Btn_Import_Excel.Click += new System.EventHandler(this.Btn_Import_Excel_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void ExportDataGrid(string FileType, string FileName) //植DataGrid絳堤
{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); Response.AppendHeader("Content-Disposition", "attachment;filename=" +HttpUtility.UrlEncode(FileName,Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState =false;
StringWriter tw = new StringWriter();
HtmlTextWriter hw =new HtmlTextWriter(tw);
DataGrid1.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();
}
private void Data_Load()
{ SqlConnection myConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["data"]);
SqlCommand cmd=new SqlCommand("page2",myConnection);
cmd.CommandType=CommandType.StoredProcedure;
.
.
.
myConnection.Open(); DataSet ds=new DataSet();
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=cmd;
da.Fill(ds);
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
}
DataView CreateDataSource()
{
string nowDSN=ConfigurationSettings.AppSettings["data"];
SqlConnection myConnection=new SqlConnection(nowDSN); SqlCommand cmd=new SqlCommand("page2",myConnection);
cmd.CommandType=CommandType.StoredProcedure;
.
.
.
DataSet ds=new DataSet();
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=cmd;
da.Fill(ds);
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
return ds.Tables["pur"].DefaultView;
myConnection.Close();
Page.DataBind();
}
void DataBind()
{
DataView source=CreateDataSource();
if(!IsPostBack)
{
}
DataGrid1.DataSource = source;
DataGrid1.DataBind();
}
private void BtnImportWord_Click(object sender, System.EventArgs e)
{
ExportDataGrid("application/ms-word", "Word.doc");
}
}
}