找回密码
 立即注册

QQ登录

只需一步,快速开始

lgxl6925

初级会员

43

主题

130

帖子

397

积分

初级会员

积分
397

微信认证勋章

lgxl6925
初级会员   /  发表于:2017-2-3 08:19  /   查看:8114  /  回复:18
同一单元格,有时能正常显示,有时显示“##############################”


显示“##############################”的时候,手工在excel中设置单元格格式为“特殊”,能恢复正常。

什么原因?如何解决?

18 个回复

倒序浏览
lgxl6925
初级会员   /  发表于:2017-2-3 09:36:52
沙发
再:office2017下不正常,office2013下正常
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-2-3 09:38:24
板凳
Excel中如果列宽不够现实数字的长度,那么就会显示###,调整列宽就好了。
回复 使用道具 举报
lgxl6925
初级会员   /  发表于:2017-2-3 10:03:10
地板
字符中带有换行,且excel列宽最大255,设为最大也不能显示。在excel中手动设为特殊,显示正常。
在spread中,如何设置单元格为特殊?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-2-3 10:48:33
5#
可否发一个可以重现的Demo过来。或者把关键的代码发送过来。
回复 使用道具 举报
lgxl6925
初级会员   /  发表于:2017-2-3 10:58:45
6#
本帖最后由 lgxl6925 于 2017-2-3 10:59 编辑

FarPoint.Web.Spread.TextCellType t = new FarPoint.Web.Spread.TextCellType();
            t.Multiline = true;     

            string drsg = "当日施工、维修情况:" + "\r\n";
            string qrsg = "前日施工、维修情况:" + "\r\n";
            string aqzd = "安全重点信息:" + "\r\n";
            string srzd = "上日重点工作布置落实:" + "\r\n";
            string crgzzd = "次日工作重点布置落实:" + "\r\n";
            string lczwdxx = "列车正晚点信息:" + "\r\n";
            string bz = "备注:" + "\r\n";

            for (int i = 0; i < ds.Tables["temp_table"].Rows.Count; i++)
            {
                drsg = drsg + (i + 1).ToString() + "." + ds.Tables["temp_table"].Rows[1].ToString() + ":" + ds.Tables["temp_table"].Rows[16].ToString() + "\r\n";

                qrsg = qrsg + (i + 1).ToString() + "." + ds.Tables["temp_table"].Rows[1].ToString() + ":" + ds.Tables["temp_table"].Rows[17].ToString() + "\r\n";
                aqzd = aqzd + (i + 1).ToString() + "." + ds.Tables["temp_table"].Rows[1].ToString() + ":" + ds.Tables["temp_table"].Rows[18].ToString() + "\r\n";

                srzd = srzd + (i + 1).ToString() + "." + ds.Tables["temp_table"].Rows[1].ToString() + ":" + ds.Tables["temp_table"].Rows[19].ToString() + "\r\n";
                crgzzd = crgzzd + (i + 1).ToString() + "." + ds.Tables["temp_table"].Rows[1].ToString() + ":" + ds.Tables["temp_table"].Rows[20].ToString() + "\r\n";

                lczwdxx = lczwdxx + (i + 1).ToString() + "." + ds.Tables["temp_table"].Rows[1].ToString() + ":" + ds.Tables["temp_table"].Rows[21].ToString() + "\r\n";
                bz = bz + (i + 1).ToString() + "." + ds.Tables["temp_table"].Rows[1].ToString() + ":" + ds.Tables["temp_table"].Rows[22].ToString() + "\r\n";

            }
            FpSpread1.Sheets[0].Cells[17, 0].Text = "4";
            FpSpread1.Sheets[0].AddSpanCell(17, 1, 1, ls - 1); ;//合并单元格
            FpSpread1.Sheets[0].Cells[17, 1].CellType = t;
            FpSpread1.Sheets[0].Cells[17, 1].Text = lczwdxx;



            FpSpread1.Sheets[0].Cells[18, 0].Text = "5";
            FpSpread1.Sheets[0].AddSpanCell(18, 1, 1, ls - 1); ;//合并单元格
            FpSpread1.Sheets[0].Cells[18, 1].CellType = t;
            FpSpread1.Sheets[0].Cells[18, 1].Text = drsg;
            FpSpread1.Sheets[0].Cells[19, 0].Text = "6";
            FpSpread1.Sheets[0].AddSpanCell(19, 1, 1, ls - 1); ;//合并单元格
            FpSpread1.Sheets[0].Cells[19, 1].CellType = t;
            FpSpread1.Sheets[0].Cells[19, 1].Text = qrsg;

            FpSpread1.Sheets[0].Cells[20, 0].Text = "7";
            FpSpread1.Sheets[0].AddSpanCell(20, 1, 1, ls - 1); ;//合并单元格
            FpSpread1.Sheets[0].Cells[20, 1].CellType = t;
            FpSpread1.Sheets[0].Cells[20, 1].Text = aqzd;

            FpSpread1.Sheets[0].Cells[21, 0].Text = "8";
            FpSpread1.Sheets[0].AddSpanCell(21, 1, 1, ls - 1); ;//合并单元格
            FpSpread1.Sheets[0].Cells[21, 1].CellType = t;
            FpSpread1.Sheets[0].Cells[21, 1].Text = srzd;

            FpSpread1.Sheets[0].Cells[22, 0].Text = "9";
            FpSpread1.Sheets[0].AddSpanCell(22, 1, 1, ls - 1); ;//合并单元格
            FpSpread1.Sheets[0].Cells[22, 1].CellType = t;
            FpSpread1.Sheets[0].Cells[22, 1].Text = crgzzd;


            FpSpread1.Sheets[0].Cells[23, 0].Text = "10";
            FpSpread1.Sheets[0].AddSpanCell(23, 1, 1, ls - 1); ;//合并单元格
            FpSpread1.Sheets[0].Cells[23, 1].CellType = t;
            FpSpread1.Sheets[0].Cells[23, 1].Text = bz;
回复 使用道具 举报
lgxl6925
初级会员   /  发表于:2017-2-3 11:03:38
7#
大体是这样,局域网,oracle数据库,数据源考不了
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-2-3 13:10:09
8#
我通过一下代码测试,没有重现问题。把您导出的Excel也发下吧

  1.             FarPoint.Web.Spread.TextCellType t = new FarPoint.Web.Spread.TextCellType();
  2.             t.Multiline = true;

  3.             string lczwdxx = "列车正晚点信息:" + "\r\n";
  4.             lczwdxx = lczwdxx + (3 + 1).ToString() + "." + "3" + ":" + "00" + "\r\n";

  5.             FpSpread1.Sheets[0].Cells[1, 0].Text = "4";
  6.             FpSpread1.Sheets[0].AddSpanCell(1, 1, 1, 3); ;//合并单元格
  7.             FpSpread1.Sheets[0].Cells[1, 1].CellType = t;
  8.             FpSpread1.Sheets[0].Cells[1, 1].Text = lczwdxx;
复制代码
回复 使用道具 举报
lgxl6925
初级会员   /  发表于:2017-2-3 13:30:15
9#
有两个单元格是这样

高铁生产日况表 (85).xls

29 KB, 下载次数: 302

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-2-3 13:42:45
10#
您好,我这里打开Excel 是没有问题的, 13 和 16下测试是没有出现#的。
您把Excel保存为 xlsx 格式再试试。应该是Excel版本问题。

      FpSpread1.SaveExcel(@"aab.xlsx", FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat);
      
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部