直接通过excel可以识别的文件结构生成xls文件的方法

直接通过excel可以识别的文件结构生成xls文件的方法

直接通过excel可以识别的文件结构生成xls文件的方法,这样就可以不引用麻烦的ole了

http://topic.csdn.net/u/20080801/15/fefe7452-068c-43bf-a9e3-ea707e5bca0e.html

C# code
 
        
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication16 { class Program { static void Main( string [] args) { // 不通过OLE生成excel文件的方法 ExcelWriter excel = new ExcelWriter( @" c:\test.xls " ); excel.BeginWrite(); excel.WriteString( 0 , 0 , " Name " ); excel.WriteString( 0 , 1 , " Score " ); excel.WriteString( 1 , 0 , " jinjazz " ); excel.WriteNumber( 1 , 1 , 100 ); excel.WriteString( 2 , 0 , " 游客 " ); excel.WriteNumber( 2 , 1 , 0 ); excel.EndWrite(); } } public class ExcelWriter { System.IO.FileStream _wirter; public ExcelWriter( string strPath) { _wirter = new System.IO.FileStream(strPath, System.IO.FileMode.OpenOrCreate); } /// /// 写入short数组 /// /// private void _writeFile( short [] values) { foreach ( short v in values) { byte [] b = System.BitConverter.GetBytes(v); _wirter.Write(b, 0 , b.Length); } } /// /// 写文件头 /// public void BeginWrite() { _writeFile( new short [] { 0x809 , 8 , 0 , 0x10 , 0 , 0 }); } /// /// 写文件尾 /// public void EndWrite() { _writeFile( new short [] { 0xa , 0 }); _wirter.Close(); } /// /// 写一个数字到单元格x,y /// /// /// /// public void WriteNumber( short x, short y, double value) { _writeFile( new short [] { 0x203 , 14 , x, y, 0 }); byte [] b = System.BitConverter.GetBytes(value); _wirter.Write(b, 0 , b.Length); } /// /// 写一个字符到单元格x,y /// /// /// /// public void WriteString( short x, short y, string value) { byte [] b = System.Text.Encoding.Default.GetBytes(value); _writeFile( new short [] { 0x204 , ( short )(b.Length + 8 ), x, y, 0 , ( short )b.Length }); _wirter.Write(b, 0 , b.Length); } } }



 

posted on 2011-09-20 11:04 林夕 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/cad0516/archive/2011/09/20/2182246.html

你可能感兴趣的:(直接通过excel可以识别的文件结构生成xls文件的方法)