C# 解决EXCEL单元格合并,行高无法自适应问题
2015-04-07 11:08
399 查看
解决方法:根据单元格内容长度,设置单元格所在行的行高
public static float getExcelCellAutoHeight(string strtest, float fontCountInline) { float defaultRowHeight = 18.00f;//每一行的高度指定 float defaultCount = 0.00f; for (int i = 0; i <strtest.Length; i++) { float ff = getRegex(strtest.Substring(i, 1)); defaultCount = defaultCount + ff; } return ((int)(defaultCount / fontCountInline) + 1) * defaultRowHeight;//计算 }
public static float getRegex(string charStr) { if (charStr == " ") { return 0.5f; } // 判断是否为字母或字符 if (Regex.IsMatch(charStr, "^[A-Za-z0-9]+$")) { return 0.5f; } // 判断是否为全角 if (Regex.IsMatch(charStr, "[\u4e00-\u9fa5]+$")) { return 1.00f; } //全角符号 及中文 if (Regex.IsMatch(charStr, "[^x00-xff]")) { return 1.00f; } return 0.5f; }
Excel.Range range = ews.get_Range("C" + (12 + indexRow * 10), "H" + 12 + indexRow * 10); range.RowHeight = getExcelCellAutoHeight(ProStageName + "", 36f);
相关文章推荐
- C#.NET验证码智能识别学习笔记---06 解决java jre问题:JTessBoxEditor.jar打开的时报找不到或无法加载主类 com.sun.tools.javac.Main错误
- c# 读取其他程序正打开的文件的时“正由另一进程使用,因此该进程无法访问该文件。"的问题解决方法
- 解决C#编写的程序无法在xp系统上运行的问题
- 用C#实现的一个简单任务机,解决了一般任务机无法定时执行任务的问题
- C# datagridView 鼠标不离开无法更新的问题解决
- asp.net(C#)通过WMI无法获取磁盘卷序列号(硬件信息)的问题解决办
- 解决IIS服务使用C#代码在Windows Server 2008上无法启动Excel的问题
- Dynamics CRM2016 解决C#调用web api报错无法显示错误详情的问题
- C#开发中提示无法加载DLL"***.dll":找不到指定的模块(异常来自HRESULT:0x8007007E)问题的解决办法
- C# ASP.net 解决easyui treegrid传递参数后台无法获取的问题
- C#解决EventHandler参数无法传递问题
- Unity(C#.net)网络通信问题解决(服务器开启失败,Socket下的“由于目标机器积极拒绝,无法连接”异常)
- C# 调用 C++ DLL无法调试的问题解决方法
- 有关c#.net“无法加载 CSOpenGLC.dll:找不到指定的模块”的问题解决办法
- C#解决EventHandler参数无法传递问题
- 关于C#开发WEB项目TextBox控件的自适应高问题解决办法!
- c#中链接无法找到问题解决
- [C#] 解决Silverlight反射安全关键(SecuritySafeCritical)时报“System.MethodAccessException: 安全透明方法 XXX 无法使用反射访问”的问题
- C#技巧【调用线程无法访问此对象,因为另一个线程拥有该对象的问题的解决办法】【C#读写EXCEL源码提示“office检测到此文件存在一个问题。为帮助保护您的计算机,不能打开此文件”的解决】
- 解决用C#操作mysql数据库出错无法回滚的问题