返回首页

嗨伙计,

权,因此,以下是从别人谁是不打扰它做什么它是如何使用它的代码片段。此代码是一个可以用来生成Excel文件使用C#和不使用互操作的类的一部分。我必须说,它的工作原理,但是,IMA位USHORT []数组和正在进行的六角魔脑麻木。请看看,看看,如果你能帮助我神秘性他们:

public sealed class ExcelWriter : IDisposable

      {

            // private Stream stream;

            private readonly BinaryWriter writer;

 

            private readonly ushort[] begin = { 0x0809, 8, 0, 0x10, 0, 0 };

            private readonly ushort[] end = { 0x0A, 00 };

 

            public ExcelWriter(Stream stream)

            {

                  // this.stream = stream;

                  writer = new BinaryWriter(stream);

            }

 

            public void WriteCell(int row, int col, string value)

            {

                  ushort[] data = { 0x0204, 0, 0, 0, 0, 0 };

                  var len = value.Length;

                  var plainText = Encoding.ASCII.GetBytes(value);

                  data[1] = (ushort)(8 + len);

                  data[2] = (ushort)row;

                  data[3] = (ushort)col;

                  data[5] = (ushort)len;

                  WriteUshortArray(data);

                  writer.Write(plainText);

            }

...

}

我解剖特别WriteCell()方法,这实际上是由一个主方法中调用,如果你会写一个DataTable值的BinaryWriter和FileStream(相当多的标准的东西)。我想这样的事情,这是此代码的大量剥离下来,养肥的版本:

{C}
当我打开temp.xls,它打开了一个不同的格式的警告,但我仍然可以看到我的数据。所以我想,那些小的"十六进制德鲁伊"是做什么神秘的,没有任何警告的情况下打开文件。
请不要点"傻瓜"十六进制"我还挺网站,我知道它们是什么,我只是想知道什么是地狱,他们在Excel生成代码,以及如何做呢? {S0的}

非常感谢...

回答

评论会员:B 时间:2