请选择 进入手机版 | 继续访问电脑版

葡萄城产品技术社区

    注册

QQ登录

SpreadJS

纯前端控件,类似Excel,问题响应通道

ComponentOne WPF

前沿科技,针对WPF桌面,问题响应通道

C1FlexGrid视频教程

WinForm平台,功能强大的表格控件,初学者必看视频

ActiveReport视频教程

轻松搞定报表,从头开始学AR,视频教程

搜索
查看: 6134|回复: 11

[已处理] 请问C1GridView如何导入Excel文件?

[复制链接]

23

主题

94

帖子

751

积分

高级会员

积分
751
发表于 2011-10-28 14:57:00 | 显示全部楼层 |阅读模式
如题,多谢!
回复

使用道具 举报

23

主题

94

帖子

751

积分

高级会员

积分
751
 楼主| 发表于 2011-10-28 15:00:00 | 显示全部楼层
我在网上找到如何将gridview导入excel文件:
Response.Clear();
            Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
            Response.Charset = "gb2312";
            Response.ContentType = "application/vnd.xls";
            System.IO.StringWriter stringWrite = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
            this.T1.RenderControl(htmlWrite);
            Response.Write(stringWrite.ToString());
            Response.End();
报错:
类型“C1GridView”的控件“ContentPlaceHolder2_T1”必须放在具有 runat=server 的窗体标记内。
实际上我的“C1GridView”的控件是定义在继承母版页的内容页中,代码如下:
<cc1:C1GridView ID="T1" runat="server"
                UseEmbeddedVisualStyles="True"
                VisualStyle="Vista" >
            </cc1:C1GridView>
回复 支持 反对

使用道具 举报

169

主题

7569

帖子

5万

积分

超级版主

Rank: 8Rank: 8

积分
56027

GrapeCity微信认证勋章

发表于 2011-10-28 16:34:00 | 显示全部楼层
你好,
从错误信息来判断,应该是和你页面的布局有关,比如:没有把C1GridView 放到Form里面,能否把你的模板页和内容页发来看一下。
回复 支持 反对

使用道具 举报

23

主题

94

帖子

751

积分

高级会员

积分
751
 楼主| 发表于 2011-10-28 17:08:00 | 显示全部楼层
好像不能上传附件啊,你是要我把源码贴上吗?很多啊!
回复 支持 反对

使用道具 举报

23

主题

94

帖子

751

积分

高级会员

积分
751
 楼主| 发表于 2011-10-28 17:09:00 | 显示全部楼层
要不你把你的邮箱给,我把附件发到你的邮箱里。
回复 支持 反对

使用道具 举报

169

主题

7569

帖子

5万

积分

超级版主

Rank: 8Rank: 8

积分
56027

GrapeCity微信认证勋章

发表于 2011-10-28 17:19:00 | 显示全部楼层
请参考这个帖子:http://gcdn.grapecity.com/showtopic-385.html,并使用IE8浏览论坛

如果点击【添加附件】没有反应,请关闭【回复主题】窗口,然后再进行【高级回复】操作
回复 支持 反对

使用道具 举报

23

主题

94

帖子

751

积分

高级会员

积分
751
 楼主| 发表于 2011-10-28 22:04:00 | 显示全部楼层

我母版页及内容页

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

169

主题

7569

帖子

5万

积分

超级版主

Rank: 8Rank: 8

积分
56027

GrapeCity微信认证勋章

发表于 2011-10-31 09:24:00 | 显示全部楼层
你好,
因为看不到你publicclass.BasePage页面的信息,无法准确定位问题的原因。
从你的页面来看使用了ScriptManager,我曾经在使用UpdatePanel时遇到这样的问题:通过UpdatePanel中Button1.Click事件来访问Reponse会报错,最终设置UpdatePanel的Triggers解决了这个问题,希望这一信息对你有帮助:
  1.         <asp:UpdatePanel ID="UpdatePanel1" runat="server">   
  2.             <Triggers>
  3.             <asp:PostBackTrigger ControlID="Button1" />                     
  4.             </Triggers>
  5.             </Triggers>
  6.             <ContentTemplate>
  7.             </ContentTemplate>
  8.             </asp:UpdatePanel>
复制代码
回复 支持 反对

使用道具 举报

23

主题

94

帖子

751

积分

高级会员

积分
751
 楼主| 发表于 2011-10-31 11:29:00 | 显示全部楼层
publicclass.BasePage的代码是:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebApplication1.QCM;

namespace WebApplication1.publicclass
{
    public class BasePage : Page
        {
        public virtual void Ref()
        {}

        public virtual void Ins()
        { }

        public virtual void Del()
        { }

        public virtual void Save()
        { }

        public virtual void Clear()
        { }

        public virtual void Prn()
        { }

        public virtual void Mod()
        { }

        public virtual void Last()
        { }

        public virtual void Next()
        { }

        public virtual void Leap()
        { }

        public virtual void Table_Btn_Click(String row_seq)
        { }

        public virtual void Mod_Row(String row_seq)
        { }
        public virtual void Excel()
        { }
        }
}
然后,我利用你的提醒,还会报同样的错误!
回复 支持 反对

使用道具 举报

23

主题

94

帖子

751

积分

高级会员

积分
751
 楼主| 发表于 2011-10-31 21:13:00 | 显示全部楼层
我又写个简单的小例子,这次没有母版页:aspx的代码是
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="C1GRIDVIEW.aspx.cs" Inherits="WebApplication1.QCM.C1GRIDVIEW" %>
<%@ Register assembly="C1.Web.UI.Controls.2" namespace="C1.Web.UI.Controls.C1GridView" tagprefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
     <cc1:C1GridView ID="T1" runat="server" UseEmbeddedVisualStyles="True" VisualStyle="Vista" ></cc1:C1GridView>
        <asp:Button ID="gggg" runat="server" OnClick="btn_click" />
    </div>
    </form>
</body>
</html>
cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1.QCM
{
    public partial class C1GRIDVIEW : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            String sqlstr = "select * from BQE_IPRECORD";

            publicclass.GeneralCommon gl = new publicclass.GeneralCommon();
            int rnt = 0;
            int cnt = 0;
            System.Data.DataTable dt = gl.exe_sql_table(sqlstr, ref rnt, ref cnt);
            C1.Web.UI.Controls.C1GridView.C1GridView T1 = (C1.Web.UI.Controls.C1GridView.C1GridView)this.form1.FindControl("T1");
            T1.DataSource = dt;
            T1.DataBind();
        }
        protected void btn_click(object sender, EventArgs e)
        {
            C1.Web.UI.Controls.C1GridView.C1GridView T1 = (C1.Web.UI.Controls.C1GridView.C1GridView)this.form1.FindControl("T1");
            Response.Clear();
            Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
            Response.Charset = "gb2312";
            Response.ContentType = "application/vnd.xls";
            System.IO.StringWriter stringWrite = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
            T1.RenderControl(htmlWrite);
            Response.Write(stringWrite.ToString());
            Response.End();
        }
    }
}
仍然报错:
类型“C1GridView”的控件“T1”必须放在具有 runat=server 的窗体标记内。
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

欢迎关注葡萄城控件

小黑屋|手机版|Archiver|葡萄城控件官网 ( 沪ICP备05020274号

GMT+8, 2017-4-27 03:25 , Processed in 1.295816 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表