找回密码
 立即注册

QQ登录

只需一步,快速开始

zhaoyuanxu

中级会员

7

主题

17

帖子

908

积分

中级会员

积分
908

活字格认证

[已处理] 单元格换行

zhaoyuanxu
中级会员   /  发表于:2014-8-6 14:48  /   查看:8393  /  回复:7
vb6  spread8 中单元格大于宽度时自动 换行。

7 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-8-6 16:28:00
沙发
回复 1楼zhaoyuanxu的帖子

请通过以下代码测试:

  1. fpSpread1.Col = 2
  2. fpSpread1.Row = 3
  3. ' Define cell type as static
  4. fpSpread1.CellType = CellTypeStaticText
  5. ' Provide text for the specified cell
  6. fpSpread1.Text = "Select one of the following"
  7. ' Set the text to wrap to multiple lines
  8. fpSpread1.TypeTextWordWrap = True
  9. ' Set vertical alignment to center
  10. fpSpread1.TypeVAlign = TypeVAlignCenter
  11. ' Set horizontal alignment to center
  12. fpSpread1.TypeHAlign = TypeHAlignCenter
  13. ' Set row height of specified row
  14. fpSpread1.RowHeight(3) = 38
  15. ' Set column width of specified column
  16. fpSpread1.ColWidth(2) = 9
复制代码
回复 使用道具 举报
zhaoruiheng
论坛元老   /  发表于:2014-12-12 08:38:00
板凳
回复 1楼zhaoyuanxu的帖子

请通过以下代码测试:
[code]
fpSpread1.Col = 2
fp......
iceman 发表于 2014-8-6 16:28:00


请问,可以设置单个单元格的自动换行吗?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-12-12 11:23:00
地板
回复 3楼zhaoruiheng的帖子

如果您使用的是 ASP.NET 平台 spread 可以通过 TextCellType 来实现:

  1.             FarPoint.Web.Spread.TextCellType tcell = new FarPoint.Web.Spread.TextCellType();
  2.             string Str;
  3.             Str = "测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试";
  4.             tcell.AllowWrap = true;
  5.             tcell.Size = 90;
  6.             FpSpread1.ActiveSheetView.Cells[0, 0].CellType = tcell;
  7.             FpSpread1.ActiveSheetView.SetValue(0, 1, Str);
  8.             FpSpread1.Sheets[0].Columns[0].Width = 120;
  9.             FpSpread1.Sheets[0].Rows[0].Height = 120;

复制代码
回复 使用道具 举报
zhaoruiheng
论坛元老   /  发表于:2014-12-15 10:48:00
5#
回复 4楼iceman的帖子

winform,可以吗?好像是可以,那天好像已经完成了这一部分。
foreach (CellRange cellRange in cellRanges)
            {//循环多个选中区域中的每个选中域
                CellRange range = GetActualCellRange(cellRange, sheet.RowCount, sheet.ColumnCount);//获取每个域的确切范围
                for (int i = 0; i < range.RowCount; i++)
                {//循环行
                    for (int j = 0; j < range.ColumnCount; j++)
                    {//循环列                        
                        if (sheet.Cells[i + range.Row, j + range.Column].CellType is TextCellType)
                        {//如果单元格类型是文本类型,则设置其自动换行
                            tct = sheet.Cells[i + range.Row, j + range.Column].CellType as TextCellType;
                            tct.WordWrap = true;
                            sheet.Cells[i + range.Row, j + range.Column].CellType = tct;
                        }
                    }
                }
            }
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-12-15 15:44:00
6#
回复 5楼zhaoruiheng的帖子

实现方法如下:

  1.             FarPoint.Win.Spread.CellType.TextCellType txt = new FarPoint.Win.Spread.CellType.TextCellType();
  2.             txt.Multiline = true;
  3.             txt.WordWrap = true;
  4.             fpSpread1.Sheets[0].Cells[0, 0].CellType = txt;
  5.             fpSpread1.Sheets[0].Cells[0, 0].Text = "测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试";
  6.             this.fpSpread1.Sheets[0].Rows[0].Height = this.fpSpread1.Sheets[0].Rows[0].GetPreferredHeight();
复制代码
回复 使用道具 举报
zhaoruiheng
论坛元老   /  发表于:2014-12-15 16:30:00
7#
回复 6楼iceman的帖子

谢谢!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-12-15 19:01:00
8#
回复 7楼zhaoruiheng的帖子

客气了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部