From 2a1cd4fda8a4a8e649910d16b4dfa1ce7ae63543 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Fri, 12 May 2023 09:24:40 +0800 Subject: *misc --- .../appending-to-an-existing-file/index.html | 476 ++++++++++++++++++++ .../docs/examples/writing/index.html | 483 +++++++++++++++++++++ .../write-anonymous-type-objects/index.html | 450 +++++++++++++++++++ .../writing/write-class-objects/index.html | 456 +++++++++++++++++++ .../writing/write-dynamic-objects/index.html | 454 +++++++++++++++++++ 5 files changed, 2319 insertions(+) create mode 100644 ThirdParty/CsvHelper-master/docs/examples/writing/appending-to-an-existing-file/index.html create mode 100644 ThirdParty/CsvHelper-master/docs/examples/writing/index.html create mode 100644 ThirdParty/CsvHelper-master/docs/examples/writing/write-anonymous-type-objects/index.html create mode 100644 ThirdParty/CsvHelper-master/docs/examples/writing/write-class-objects/index.html create mode 100644 ThirdParty/CsvHelper-master/docs/examples/writing/write-dynamic-objects/index.html (limited to 'ThirdParty/CsvHelper-master/docs/examples/writing') diff --git a/ThirdParty/CsvHelper-master/docs/examples/writing/appending-to-an-existing-file/index.html b/ThirdParty/CsvHelper-master/docs/examples/writing/appending-to-an-existing-file/index.html new file mode 100644 index 0000000..38dccda --- /dev/null +++ b/ThirdParty/CsvHelper-master/docs/examples/writing/appending-to-an-existing-file/index.html @@ -0,0 +1,476 @@ + + + + + + + + + + + + + + + + + + + + + + + Appending To An Existing File | CsvHelper + + + + + + + + + + + + + + + + +
+
+
+ + + +
+
+
+

Appending to an Existing CSV File

+
Example
+
void Main()
+{
+	var records = new List<Foo>
+	{
+		new Foo { Id = 1, Name = "one" },
+	};
+
+	// Write to a file.
+	using (var writer = new StreamWriter("path\\to\\file.csv"))
+	using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
+	{
+		csv.WriteRecords(records);
+	}
+
+	records = new List<Foo>
+	{
+		new Foo { Id = 2, Name = "two" },
+	};
+
+	// Append to the file.
+	var config = new CsvConfiguration(CultureInfo.InvariantCulture)
+	{
+		// Don't write the header again.
+		HasHeaderRecord = false,
+	};
+	using (var stream = File.Open("path\\to\\file.csv", FileMode.Append))
+	using (var writer = new StreamWriter(stream))
+	using (var csv = new CsvWriter(writer, config))
+	{
+		csv.WriteRecords(records);
+	}
+}
+
+public class Foo
+{
+	public int Id { get; set; }
+	public string Name { get; set; }
+}
+
+
Output
+
Id,Name
+1,one
+2,two
+
+ +
+
+
+
+ +

+ + + + + + + + + + + diff --git a/ThirdParty/CsvHelper-master/docs/examples/writing/index.html b/ThirdParty/CsvHelper-master/docs/examples/writing/index.html new file mode 100644 index 0000000..efe0007 --- /dev/null +++ b/ThirdParty/CsvHelper-master/docs/examples/writing/index.html @@ -0,0 +1,483 @@ + + + + + + + + + + + + + + + + + + + + + + + Writing | CsvHelper + + + + + + + + + + + + + + + + +
+
+
+ + + +
+
+
+

Writing

+

Injection Warning

+

When opening a CSV in an external program, a formula in a field could be ran that contains a vulnerability. +Read more here: CSV Injection. +Due to this issue, there is a setting InjectionOptions that can be configured.

+

The list of injection characters to detect are configurable in CsvConfiguration.InjectionCharacters +and default to =, @, +, -, \t, \r. An injection character can be the first character of a field +or quoted field. i.e. =foo or "=foo"

+

The InjectionOptions values are None (default), Escape, Strip, and Exception.

+
None
+

No injection protection is taken.

+
Exception
+

If an injection character is detected, a CsvWriterException is thrown.

+
Strip
+

All injection characters at the start of a field will be removed. ===foo will be stripped to foo.

+
Escape
+

If an injection character is detected, the field will be prepended with the InjectionEscapeCharacter +that defaults to '. The field will be quoted if it is not already.

+

=one -> "'=one"

+

"=one" -> "'=one"

+

=one"two -> "'=one""two"

+

This option is disabled by default because the primary goal if this library is to read and write CSV +files. If you are storing user entered data that you haven't sanitized yourself and you're letting +it be accessed by people that may open in Excel/Sheets/etc, you might consider enabling this feature. +The InjectionEscapeCharacter is not removed when reading.

+

When writing, you can throw an enumerable of class objects, dynamic objects, anonymous type objects, or pretty much +anything else, and it will get written.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Topics 
Write Class Objects
Write Dynamic Objects
Write Anonymous Type Objects
Appending to an Existing File
+ +
+
+
+
+ +

+ + + + + + + + + + + diff --git a/ThirdParty/CsvHelper-master/docs/examples/writing/write-anonymous-type-objects/index.html b/ThirdParty/CsvHelper-master/docs/examples/writing/write-anonymous-type-objects/index.html new file mode 100644 index 0000000..66741ae --- /dev/null +++ b/ThirdParty/CsvHelper-master/docs/examples/writing/write-anonymous-type-objects/index.html @@ -0,0 +1,450 @@ + + + + + + + + + + + + + + + + + + + + + + + Write Anonymous Type Objects | CsvHelper + + + + + + + + + + + + + + + + +
+
+
+ + + +
+
+
+

Write Anonymous Type Objects

+
Example
+
void Main()
+{
+	var records = new List<object>
+	{
+		new { Id = 1, Name = "one" },
+	};
+	
+	using (var writer = new StreamWriter("path\\to\\file.csv"))
+	using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
+	{
+		csv.WriteRecords(records);
+	}
+}
+
+
Output
+
Id,Name
+1,one
+
+ +
+
+
+
+ +

+ + + + + + + + + + + diff --git a/ThirdParty/CsvHelper-master/docs/examples/writing/write-class-objects/index.html b/ThirdParty/CsvHelper-master/docs/examples/writing/write-class-objects/index.html new file mode 100644 index 0000000..3306af7 --- /dev/null +++ b/ThirdParty/CsvHelper-master/docs/examples/writing/write-class-objects/index.html @@ -0,0 +1,456 @@ + + + + + + + + + + + + + + + + + + + + + + + Write Class Objects | CsvHelper + + + + + + + + + + + + + + + + +
+
+
+ + + +
+
+
+

Write Class Objects

+
Example
+
void Main()
+{
+	var records = new List<Foo>
+	{
+		new Foo { Id = 1, Name = "one" },
+	};
+	
+	using (var writer = new StreamWriter("path\\to\\file.csv"))
+	using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
+	{
+		csv.WriteRecords(records);
+	}
+}
+
+public class Foo
+{
+	public int Id { get; set; }
+	public string Name { get; set; }
+}
+
+
Output
+
Id,Name
+1,one
+
+ +
+
+
+
+ +

+ + + + + + + + + + + diff --git a/ThirdParty/CsvHelper-master/docs/examples/writing/write-dynamic-objects/index.html b/ThirdParty/CsvHelper-master/docs/examples/writing/write-dynamic-objects/index.html new file mode 100644 index 0000000..8992dca --- /dev/null +++ b/ThirdParty/CsvHelper-master/docs/examples/writing/write-dynamic-objects/index.html @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + Write Dynamic Objects | CsvHelper + + + + + + + + + + + + + + + + +
+
+
+ + + +
+
+
+

Write Dynamic Objects

+
Example
+
void Main()
+{
+	var records = new List<dynamic>();
+	
+	dynamic record = new ExpandoObject();
+	record.Id = 1;
+	record.Name = "one";
+	records.Add(record);
+	
+	using (var writer = new StringWriter())
+	using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
+	{
+		csv.WriteRecords(records);
+		
+		writer.ToString().Dump();
+	}
+}
+
+
Output
+
Id,Name
+1,one
+
+ +
+
+
+
+ +

+ + + + + + + + + + + -- cgit v1.1-26-g67d0