Heim Backend-Entwicklung C#.Net-Tutorial Selbststudium C#03 ab 0 – Dateistream speichert Daten im TXT/Excel-Format

Selbststudium C#03 ab 0 – Dateistream speichert Daten im TXT/Excel-Format

Feb 04, 2017 am 10:35 AM

Führt hauptsächlich die Klassen DataTable, Log, FileStream und StreamWriter ein, um Daten in TXT- und Excel-Formaten zu speichern.

1. Erstellen Sie die TestDataTable-Klasse.

Die Methode „CreateTable()“ erstellt eine Datentabelle, die Methode „SaveTableToExcel(string fileName)“ speichert die Datentabelle als Excel-Formatdatei mit dem Namen „fileName“, „CreateDirectory(string fileName)“ )-Methode, um zu überprüfen, ob die Datei vorhanden ist. Wenn sie nicht vorhanden ist, wird automatisch eine erstellt.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

class TestDataTable: DataTable

    {        public void CreateTable()

        {            this.Columns.Add("Time(s)", System.Type.GetType("System.String"));            this.Columns.Add("Ch", System.Type.GetType("System.String"));

            this.Columns.Add("BER", System.Type.GetType("System.String"));           

            const int length1 = 4;           

            const int length2 = 10;            int[][] data = new int[length1][];            //第一条数据

            data[0] = new int[length2] { 13, 25, 21, 33, 28, 39, 43, 36, 42, 36 };            //第二条数据

            data[1] = new int[length2] { 20, 13, 10, 5, 15, 7, 10, 14, 19, 20 };            //第三条数据

            data[2] = new int[length2] { 78, 92, 65, 83, 90, 59, 63, 72, 88, 98 };            //第四条数据

            data[3] = new int[length2] { 45, 49, 39, 47, 52, 76, 67, 51, 57, 67 };            for (int i = 0; i < length2; i++)

            {                for (int j = 0; j < length1; j++)

                {

                    DataRow dr = this.NewRow();

                    dr[0] = i + 1;

                    dr[1] = j;

                    dr[2] = data[j][i];                    this.Rows.Add(dr);

                }

            }

        }        public void SaveTableToExcel(string fileName)

        {

            CreateDirectory(fileName);

            StringBuilder title = new StringBuilder();

            FileStream fileStream = new FileStream(fileName, FileMode.OpenOrCreate);

            StreamWriter writer = new StreamWriter(new BufferedStream(fileStream), System.Text.Encoding.Default);           

for (int i = 0; i < this.Columns.Count; i++)

            {

                title.Append(this.Columns[i].ColumnName + "\t"); //栏位:自动跳到下一单元格

            }

 

            title.Append("\n");

            writer.Write(title);            foreach (DataRow row in this.Rows)

            {

                StringBuilder content = new StringBuilder();                for (int i = 0; i < this.Columns.Count; i++)

                {

                    content.Append(row[i] + "\t");//内容:自动跳到下一单元格

                }

                content.Append("\n");

                writer.Write(content);

            }

            writer.Close();

            fileStream.Close();

        }        public void CreateDirectory(string fileName)

        {

            DirectoryInfo directoryInfo = Directory.GetParent(fileName);           

if (!directoryInfo.Exists)

            {

                directoryInfo.Create();

            }

        

    }

Nach dem Login kopieren

2. Erstellen Sie eine Log-Log-Klasse

Definieren Sie den Dateinamen FileName als Attribut der Klasse und weisen Sie ihn im Konstruktor zu. Die Methode SaveLogToTxt(string info) speichert die Dateninformationen in einer TXT-Datei mit dem Namen fileName. Ebenso prüft die Methode CreateDirectory(), ob die Datei vorhanden ist

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

class Log

    {        private string fileName;

 

        public string FileName

        {            set

            {                this.fileName = value;

            }            get

            {                return this.fileName;

            }

        }        public Log(string fileName)

        {            this.fileName = fileName;

            CreateDirectory();

        

 

        public void SaveLogToTxt(string info) 

        {   

            StreamWriter writer = null; 

            FileStream fileStream = null;            try 

            {

                System.IO.FileInfo fileInfo = new System.IO.FileInfo(this.fileName); 

                if (!fileInfo.Exists) 

                

                    fileStream = fileInfo.Create(); 

                    writer = new StreamWriter(fileStream); 

                

                else 

                

                    fileStream = fileInfo.Open(FileMode.Append, FileAccess.Write); 

                    writer = new StreamWriter(fileStream); 

                

                writer.WriteLine(info);

            

            finally 

            

                if (writer != null) 

                

                    writer.Close(); 

                    writer.Dispose(); 

                    fileStream.Close(); 

                    fileStream.Dispose(); 

                

            

        

 

        public void CreateDirectory() 

        

            DirectoryInfo directoryInfo = Directory.GetParent(this.fileName); 

            if (!directoryInfo.Exists) 

            

                directoryInfo.Create(); 

            

        

    }

Nach dem Login kopieren

3. Rufen Sie die Klassenmethode auf, um Daten zu speichern

Instanziieren Sie die Klasse, erstellen Sie eine Datentabelle und speichern Sie die Tabelle im TXT-Format Format und Excel-Format. Benannt nach der Zeit.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

TestDataTable dt = new TestDataTable();

dt.CreateTable();

dt.Rows.Clear(); //清除数据table里所有行DateTime startTime = DateTime.Now;

Log log = new Log(@"Log\" + startTime.ToString("yyyyMMddHHmmss") + ".txt");//以时间为文件命名,存在exe所在文件夹下的Log文件夹里for (int i = 0; i < 4; i++)

{

    DataRow dr = dt.NewRow();

    dr[0] = (int)second;

    dr[1] = i;

    dr[2] = BERByChannel[i].ToString("E2");

    dt.Rows.Add(dr);//添加新行到数据table

 

    string info = string.Format("{0}: Time(s): {1}, Ch: {2}, BER: {3}", DateTime.Now, dr[0], dr[1], dr[2]);

    log.SaveLogToTxt(info);//存为txt格式                    }//存为excel格式string fileName = @"TestRecord\" + startTime.ToString("yyyyMMddHHmmss") + ".xls";

dt.SaveTableToExcel(fileName);//以时间为文件命名,存在exe所在文件夹下的TestRecord文件夹里

Nach dem Login kopieren

Das Obige ist der Inhalt des Selbststudiums C#03 von 0 – Datei-Stream zum Speichern von Daten im TXT-/Excel-Format. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.org). .php.cn)!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Active Directory mit C# Active Directory mit C# Sep 03, 2024 pm 03:33 PM

Active Directory mit C#

Zugriffsmodifikatoren in C# Zugriffsmodifikatoren in C# Sep 03, 2024 pm 03:24 PM

Zugriffsmodifikatoren in C#

Zufallszahlengenerator in C# Zufallszahlengenerator in C# Sep 03, 2024 pm 03:34 PM

Zufallszahlengenerator in C#

C#-Datenrasteransicht C#-Datenrasteransicht Sep 03, 2024 pm 03:32 PM

C#-Datenrasteransicht

Muster in C# Muster in C# Sep 03, 2024 pm 03:33 PM

Muster in C#

C# StringReader C# StringReader Sep 03, 2024 pm 03:23 PM

C# StringReader

C# StringWriter C# StringWriter Sep 03, 2024 pm 03:23 PM

C# StringWriter

BinaryWriter in C# BinaryWriter in C# Sep 03, 2024 pm 03:22 PM

BinaryWriter in C#

See all articles