只言片语

posts(4) comments(3) trackbacks(0)
  • BlogJava
  • 联系
  • RSS 2.0 Feed 聚合
  • 管理

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  •  eclipse
  •  java(2)

随笔档案

  • 2006年8月 (2)
  • 2006年7月 (2)

搜索

  •  

最新评论

  • 1. re: 操作Excel,自动设置列高
  • 看到这个我觉得我的EXCEL 弱智了~
  • --Crusher Machine
  • 2. re: 现在我们的开发架构
  • 评论内容较长,点击标题查看
  • --aihua
  • 3. re: 现在我们的开发架构
  • 请问 BaseDAO具体怎么实现??能否给出一个实例?有空希望和我留言。
  • --智者无疆

阅读排行榜

  • 1. 操作Excel,自动设置列高(1742)
  • 2. 现在我们的开发架构(388)
  • 3. 改进(263)
  • 4. 网页上发送mail的编码问题(255)

评论排行榜

  • 1. 现在我们的开发架构(2)
  • 2. 操作Excel,自动设置列高(1)
  • 3. 改进(0)
  • 4. 网页上发送mail的编码问题(0)

2006年8月20日

网页上发送mail的编码问题

网页上发送mail有2种常用的方式. MailTo 和 Form提交.

两者在编码方面都是一样的.

如果页面是UTF-8编码格式,则发送出去的字符串就是UTF-8,Mail客户端如果以GB2312接受,必为乱码


实际在中文win2000下测试,就算修改Outlook Express默认编码为UTF-8,仍然无法接受正常的汉字。

所以将页面修改为GB2312是一个简单的解决方案。


还有一个问题


如果我在日文系统调用GB2312的页面,仍然无法获取正确的汉字。

解决办法是,在日文系统下,把需要的汉字输到*.ASPX文件上(或者是JS),然后再调用页面,在日文系统上就能够出现正确的汉字。虽然这个时候源代码全部是乱码。


实际上是用日文字体写中国汉字。。。。这个和编码格式问题好像不一样

posted @ 2006-08-21 09:53 aihua 阅读(255) | 评论 (0) | 编辑 收藏

操作Excel,自动设置列高

C#

 1   // / <summary>
 2          // / 自动设置Excel列高
 3          // / </summary>
 4          // / <param name="m_objSheet">Worksheet</param>
 5          // / <param name="beginPos">string</param>
 6          // / <remarks>
 7          // / 自动设置Excel列高
 8          // / </remarks>
 9          public   static   void  autoSetHeight(Worksheet m_objSheet,string beginPos)
10          {
11              // 分解坐标
12             string[] rows  =  beginPos.Split( ' , ' );
13              // 获取单元格对象
14             Range range1  =  m_objSheet.Cells[ int .Parse(rows[ 0 ]),  int .Parse(rows[ 1 ])] as Excel.Range;
15              // 获取单元格长/宽
16              int  iRowCount  =  range1.MergeArea.Rows.Count;
17              int  iColumnsCount  =  range1.MergeArea.Columns.Count;
18             
19              // 第一列宽
20              double  iColumnWidth  =   double .Parse(range1.ColumnWidth.ToString());
21
22              // 获取总的列宽
23              double  iSunColumnWidth  =   0 ;
24
25              for  ( int  i  =   0 ; i  <  iColumnsCount; i ++ )
26              {
27                 Range tmp_range  =  m_objSheet.Cells[ int .Parse(rows[ 0 ]), ( int .Parse(rows[ 1 ]) + i)] as Excel.Range;
28                 iSunColumnWidth  =  iSunColumnWidth  +   double .Parse(tmp_range.ColumnWidth.ToString());;
29             }

30
31
32              // 分解单元格
33             range1.UnMerge();
34
35              // 重新获取单元格第一个小块
36             range1  =  m_objSheet.Cells[ int .Parse(rows[ 0 ]),  int .Parse(rows[ 1 ])] as Excel.Range;
37              // 获取第一个小块的原始高度
38              double  range1_height  =   double .Parse(range1.RowHeight.ToString());
39              // 设置第一个小块为自动拉伸
40             range1.EntireRow.AutoFit();
41          
42              int  newRows  =   int .Parse(rows[ 0 ])  +  (iRowCount - 1 );
43              int  newColumn  =   int .Parse(rows[ 1 ])  +  (iColumnsCount - 1 );
44              // 重新获取单元格
45             Range range2  = m_objSheet.get_Range(m_objSheet.Cells[ int .Parse(rows[ 0 ]), int .Parse(rows[ 1 ])],m_objSheet.Cells[newRows,newColumn]);
46              // 合并单元格
47             range2.Merge( 0 );
48
49              double  h1  =   double .Parse(range1.RowHeight.ToString());
50             range2.RowHeight  =  range1_height;
51  
52              // 计算合并后的单元格的高度
53              double  hh  =  h1  * (iColumnWidth / iSunColumnWidth);
54
55              // 如果第一个小块的高度还没有默认高度高,则不设置高度
56              if (h1  >  range1_height)
57              {
58                  // 如果计算后的高度比原始的高,则设新的高度,并且+15,让字体能够显示出来,否则设置原始高+15
59                  if (hh  >  range1_height)
60                  {
61                     range2.RowHeight  =  hh  +   15 ;
62                 }

63                  else
64                  {
65                     range2.RowHeight  =  range1_height;
66                 }

67                 
68             }

69         }

posted @ 2006-08-20 13:30 aihua 阅读(1742) | 评论 (1) | 编辑 收藏

 
Powered by:
BlogJava
Copyright © aihua