using System; // using System.Collections.Generic; //using System.Linq; using System.Text; using System.IO; namespace Excel1 { class CExport2EXCEL { // private Variablen FileStream fout; BinaryWriter dout; string sFilename; ushort[] CXlsBof = new ushort[6]; // Startsequenz der Datei ushort[] CXlsEof = new ushort[2]; // Endsequenz der Datei ushort[] CXlsString = new ushort[6]; // Sequenz eines Strings ushort[] CXlsDouble = new ushort[5]; // Sequenz eines Double ushort[] CXlsInt = new ushort[5]; // Sequenz eines Integer public CExport2EXCEL(string sFilename) { this.sFilename = sFilename; CXlsBof[0] = 0x0809; CXlsBof[1] = 8; CXlsBof[2] = 0; CXlsBof[3] = 0x10; CXlsBof[4] = 1; CXlsBof[5] = 0; CXlsEof[0] = 0x0A; CXlsEof[1] = 0; } public void openFile() { fout = new FileStream(sFilename, FileMode.Create); dout = new System.IO.BinaryWriter(fout); for (int i = 0; i < CXlsBof.Length; i++) { dout.Write(CXlsBof[i]); } } // openFile public void closeFile() { for (int i = 0; i < CXlsEof.Length; i++) { dout.Write(CXlsEof[i]); } dout.Close(); fout.Close(); } // closeFile private void ClearArrays() { CXlsString[0] = 0x0204; CXlsString[1] = 0; CXlsString[2] = 0; CXlsString[3] = 0; CXlsString[4] = 0; CXlsDouble[0] = 0x0203; CXlsDouble[1] = 14; CXlsDouble[2] = 0; CXlsDouble[3] = 0; CXlsDouble[4] = 0; CXlsInt[0] = 0x027E; CXlsInt[1] = 10; CXlsInt[2] = 0; CXlsInt[3] = 0; CXlsInt[4] = 0; } public void Write(int Col, int Row, int iValue) { int V; ClearArrays(); CXlsInt[2] = (ushort) Row; CXlsInt[3] = (ushort) Col; for (int i = 0; i < CXlsInt.Length; i++) { dout.Write(CXlsInt[i]); } V = (iValue << 2) | 2; dout.Write(V); } // write Int public void Write(int Col, int Row, double dValue) { ClearArrays(); CXlsDouble[2] = (ushort)Row; CXlsDouble[3] = (ushort)Col; for (int i = 0; i < CXlsDouble.Length; i++) { dout.Write(CXlsDouble[i]); } dout.Write(dValue); } // write Double public void Write(int Col, int Row, string sValue) { int len; ClearArrays(); len = sValue.Length; CXlsString[1] = (ushort)(8 + len); CXlsString[2] = (ushort)Row; CXlsString[3] = (ushort)Col; CXlsString[5] = (ushort)len; for (int i = 0; i < CXlsString.Length; i++) { dout.Write(CXlsString[i]); } char [] zeichen = sValue.ToCharArray(); for (int i = 0; i < zeichen.Length; i++) { dout.Write( (byte) zeichen[i] ); } } // write String } // CExport2EXCEL }