wangwuliSpread 发表于 2014-11-12 11:09:00

reportinfo.Cells[1, 1].Text 取不到值


【后台代码】

在页面可以看得到从Exelc中导入的数据,并且使用也获得了有数据的行数的例数。
int RowCount = this.FpSpread1.Sheets.NonEmptyRowCount;
int ColumnCount = this.FpSpread1.Sheets.NonEmptyColumnCount;




下面是页面的后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;
using System.IO;
using FarPoint.Excel;
using SXT.ZHLC.ProjectMnt.BLL;
using FarPoint.Web.Spread;

namespace SXT.ZHLC.ProjectMnt.Module.PeasCategory
{
    public partial class Spread : ListPageBase
    {
      #region Page_Load
      protected void Page_Load(object sender, EventArgs e)
      {
            FpSpread1.HorizontalScrollBarPolicy = FarPoint.Web.Spread.ScrollBarPolicy.Always;
            //垂直
            FpSpread1.VerticalScrollBarPolicy = FarPoint.Web.Spread.ScrollBarPolicy.Always;

            this.FpSpread1.Sheets.RowCount = 100;
            this.FpSpread1.Sheets.ColumnCount = 100;
      }
      #endregion

      /// <summary>
      /// 导入Execl
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void btnUpload_Click(object sender, EventArgs e)
      {
            string returnMsg = string.Empty;
            string savePath = Server.MapPath("~/UploadFiles");
            if (!System.IO.Directory.Exists(savePath))
            {
                System.IO.Directory.CreateDirectory(savePath);
            }

            if (this.FileUpload1.HasFile)
            {
                string TimeName = DateTime.Now.ToString("yyyyMMddhhmmssff");
                string filename = this.FileUpload1.FileName;
                string filetype = filename.Substring(filename.LastIndexOf("."));
                string ServerFilePath = savePath + "\\" + filetype.Replace(filetype, "") + TimeName + filetype;
                FileUpload1.SaveAs(ServerFilePath);
                this.FpSpread1.OpenExcel(ServerFilePath, FarPoint.Excel.ExcelOpenFlags.TruncateEmptyRowsAndColumns);
            }

            foreach (SheetView sheet in this.FpSpread1.Sheets)
            {
                sheet.AllowPage = false;
            }
            this.FpSpread1.Sheets.RowCount = 100;
            this.FpSpread1.Sheets.ColumnCount = 100;
      }

      /// <summary>
      /// 检查用户上传的用户预算编制模版Execl文件模板格式是否正确
      /// </summary>
      /// <returns></returns>
      private bool CheckYearDataField()
      {
            bool flag = true;
            FarPoint.Web.Spread.SheetView reportinfo = this.FpSpread1.Sheets;
            try
            {
                string project = reportinfo.Cells.Text;
                if (reportinfo.Cells.Text != " ")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "项目")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "所属部门")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "预算事项编码")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "预算事项名称")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "预算科目代码")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "预算科目名称")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "年度")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "1月")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "2月")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "3月")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "4月")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "5月")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "6月")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "7月")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "8月")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "9月")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "10月")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "11月")
                {
                  return false;
                }
                if (reportinfo.Cells.Text != "12月")
                {
                  return false;
                }
            }
            catch (Exception)
            {
                return false;
            }
            return flag;
      }

      /// <summary>
      ///保存
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void btnSave_Click(object sender, EventArgs e)
      {
               // 检测数据字段
            if (!CheckYearDataField())
            {
                string msg = "<script>alert('模板字段与数据库字段不一致!');document.location.href='Spread.aspx'</script>";
                this.Page.ClientScript.RegisterStartupScript(this.GetType(), "tip", msg, false);
            }

            int RowCount = this.FpSpread1.Sheets.NonEmptyRowCount;
            int ColumnCount = this.FpSpread1.Sheets.NonEmptyColumnCount;
            FarPoint.Web.Spread.SheetView reportinfo = this.FpSpread1.Sheets;
   
            // 循环行
            for (int i = 1; i <= RowCount; i++)
            {
                // 循环列
                for (int j = 0; j < ColumnCount; j++)
                {
                  string projecttitle = reportinfo.Cells.Text;   
                  string projectvaule = reportinfo.Cells.Text;   
                }
            }
      }


      /// <summary>
      /// 获取数据源
      /// </summary>
      /// <returns></returns>
      private static DataTable GetDataTable()
      {
            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Columns.Add("部门");
            dt.Columns.Add("姓名");
            dt.Columns.Add("参加工作时间");
            dt.Columns.Add("学历");
            dt.Columns.Add("工资", typeof(int));
            dt.Columns.Add("话费补贴", typeof(int));
            dt.Columns.Add("伙食补贴", typeof(int));
            dt.Columns.Add("其它", typeof(int));

            dt.Rows.Add("业务部", "王晨光", "1979-12", "大学专科毕业生", null, 2583, 3894, null);
            dt.Rows.Add("业务部", "吴成龙", "1979-12", "大学专科毕业生", null, null, null, null);

            dt.Rows.Add("研发部", "李晶莹", "2000-03", "大学本科毕业生", 760, 2583, 3453, null);
            dt.Rows.Add("研发部", "胡明辉", "2000-03", "大学本科毕业生", null, null, null, null);

            dt.Rows.Add("研发部", "张冬玲", "2005-08", "硕士研究生", 4650, null, 3453, null);
            dt.Rows.Add("研发部", "赵启成", "2005-08", "硕士研究生", null, null, null, null);

            dt.Rows.Add("管理部", "钱阳春", "1988-01", "博士研究生", 1760, 5800, 3692, 425);
            dt.Rows.Add("管理部", "冯景阳", "1988-01", "博士研究生", 1560, null, null, null);

            dt.Rows.Add("管理部", "田耕", "2001-07", "硕士研究生", 1563, 2583, 1025, null);
            dt.Rows.Add("财务部", "郝时光", "2001-07", "硕士研究生", 2788, null, 1255, null);

            dt.Rows.Add("财务部", "王德国", "2008-12", "大学本科毕业生", 2500, 2456, 3562, null);
            dt.Rows.Add("财务部", "周丹", "2008-12", "大学本科毕业生", null, 6500, null, 2580);

            return dt;
      }

      /// <summary>
      /// 查询
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      protected void btnQuery_Click(object sender, EventArgs e)
      {
            var dt = GetDataTable();

            //关闭自动生成列属性
            this.FpSpread1.Sheets.AutoGenerateColumns = false;

            //绑定数据源
            this.FpSpread1.DataSource = dt;

            //指定特定列字段
            this.FpSpread1.Sheets.Columns.DataField = "姓名";
            this.FpSpread1.Sheets.Columns.DataField = "部门";
            this.FpSpread1.Sheets.Columns.DataField = "参加工作时间";
            this.FpSpread1.Sheets.Columns.DataField = "工资";
            this.FpSpread1.Sheets.Columns.DataField = "学历";
            this.FpSpread1.Sheets.Columns.DataField = "话费补贴";
            this.FpSpread1.Sheets.Columns.DataField = "伙食补贴";
            this.FpSpread1.Sheets.Columns.DataField = "其它";

         
      }
         
    }
}

wangwuliSpread 发表于 2014-11-12 11:32:00

回复 1楼wangwuliSpread的帖子

王工,这个问题我解决了。是我下标索引搞错,所以取不到值。

iceman 发表于 2014-11-12 13:57:00

回复 2楼wangwuliSpread的帖子

好的,感谢您反馈问题结果。
页: [1]
查看完整版本: reportinfo.Cells[1, 1].Text 取不到值