robbiblubber.org
ID
Proyek
Koleksi.NETMIT

Data.Util.NET.

Robbiblubber.Data.Util.NET

Siapkan data untuk tahap berikutnya: ekspor koleksi bertipe ke CSV atau Excel, buat pernyataan SQL INSERT dari hasil kueri, dan baca layanan OData per halaman. Empat pustaka yang dapat ditambahkan secara terpisah ke aplikasi .NET.

.NET 8.NET 10

Pustaka & ekstensi

4

Pustaka tersedia sebagai paket NuGet terpisah. Instal komponen yang dibutuhkan proyek Anda.

Pustaka

Robbiblubber.Data.Util.CSV

Ekspor CSV untuk IEnumerable<T>: tentukan kolom dan judul secara eksplisit, pilih nilai melalui fungsi, dan sesuaikan format keluaran.

Untuk aplikasi .NETTarget framework: net8.0 / net10.0

Yang tersedia

  • CsvExport<T> bekerja dengan tipe data Anda; DataField<T> menentukan urutan kolom, judul, dan pemilihan nilai.
  • Atur pemisah kolom dan desimal, tanda kutip, akhir baris, serta pengodean berkas.
  • CsvOptions.GERMAN menyediakan pengaturan titik koma dan koma desimal; baris judul bersifat opsional.
  • Tulis ke berkas, stream, TextWriter, atau string dengan metode sinkron maupun asinkron.
Contoh untuk memulai C#
using Robbiblubber.Data.Util.CSV;

CsvExport<Product> export = new(
    fieldDefinition:
    [
        new CsvExport.DataField<Product>("Name", p => p.Name),
        new CsvExport.DataField<Product>("Price", p => p.Price)
    ],
    csvOptions: CsvOptions.GERMAN.Clone());

await export.WriteToFileAsync("products.csv", [new Product("Notebook", 4.50m)]);

record Product(string Name, decimal Price);

Dua kolom eksplisit, satu baris judul, dan format angka Jerman. Sesuaikan salinan opsi.

Instalasi
dotnet add package Robbiblubber.Data.Util.CSV
Pustaka

Robbiblubber.Data.Util.Excel

Buat berkas Excel dari data bertipe: tentukan kolom, lembar kerja, dan format sel, lalu tulis hasilnya sebagai berkas XLSX atau stream.

Menggunakan ClosedXML; tidak memerlukan aplikasi Excel terpasangTarget framework: net8.0 / net10.0

Yang tersedia

  • ExcelExport<T> dan DataField<T> memetakan tipe data Anda ke judul kolom dan fungsi nilai.
  • Atur nama lembar, lebar kolom, dan judul opsional; tulis angka, tanggal, dan nilai lain sebagai nilai sel yang sesuai.
  • Warna, bingkai, cetak tebal, dan miring untuk judul serta sel data; format khusus untuk baris data pertama dan terakhir.
  • CustomizeCell mendukung penyesuaian ClosedXML per sel; keluaran ke berkas dan stream.
Contoh untuk memulai C#
using Robbiblubber.Data.Util.Excel;

ExcelExport<Product> export = new(
    fieldDefinition:
    [
        new ExcelExport.DataField<Product>("Name", p => p.Name),
        new ExcelExport.DataField<Product>("Price", p => p.Price)
    ],
    columnWidths: [28d, 14d], worksheetName: "Products");

export.WriteToFile("products.xlsx", [new Product("Notebook", 4.50m)]);

record Product(string Name, decimal Price);

Membuat satu lembar dengan dua kolom. Berikan satu lebar untuk setiap kolom yang ditentukan.

Instalasi
dotnet add package Robbiblubber.Data.Util.Excel
Pustaka

Robbiblubber.Data.Util.Export

Ekspor hasil kueri SQL sebagai pernyataan INSERT. SqlExport membaca melalui koneksi ADO.NET yang tersedia dan membuat skrip untuk tabel tujuan yang ditentukan.

IDbConnection terbuka dan penyedia ADO.NET yang sesuaiTarget framework: net8.0 / net10.0

Yang tersedia

  • Kueri SELECT Anda menentukan baris dan kolom yang diekspor.
  • Setiap baris hasil menjadi pernyataan INSERT dengan nama kolom dari hasil kueri.
  • Menangani apostrof dalam string, NULL, tanggal/waktu, dan angka desimal yang tidak bergantung pada kultur.
  • Statements menyediakan pernyataan terpisah; ToString() mengembalikan skrip gabungan. Periksa sintaks SQL untuk sistem tujuan.
Contoh untuk memulai C#
using System.Data;
using Robbiblubber.Data.Util.Export;

static string ExportProducts(IDbConnection connection)
{
    using SqlExport export = new(connection, "Products_Copy",
        "SELECT Id, Name, Price FROM Products");
    export.Execute();
    return export.ToString();
}

Koneksi harus sudah terbuka. Execute() membaca sumber dan membuat skrip tanpa menjalankan pernyataan INSERT.

Instalasi
dotnet add package Robbiblubber.Data.Util.Export
Pustaka

Robbiblubber.Data.Util.OData

Baca JSON OData dengan HttpClient yang tersedia: ambil halaman satu per satu atau telusuri rekaman dengan await foreach, mengikuti tautan kelanjutan OData.

Endpoint JSON OData dengan array value; konfigurasikan HttpClient untuk layananTarget framework: net8.0 / net10.0

Yang tersedia

  • NextPageAsync mengembalikan halaman sebagai JsonObject; NextValuesAsync mengembalikan array value-nya.
  • IAsyncEnumerable<JsonObject> memungkinkan await foreach atas rekaman dari berbagai halaman.
  • @odata.nextLink mengatur halaman berikutnya, dengan dukungan tautan HTTP(S) relatif dan absolut.
  • OnRequest mendukung header HTTP khusus; CancellationToken mendukung pembatalan, dan Rewind() mengatur ulang pembaca.
Contoh untuk memulai C#
using Robbiblubber.Data.Util.OData;

using HttpClient client = new();
ODataReader reader = new(client,
    "https://service.example.org/odata/Products?$select=Id,Name");

await foreach (var product in reader)
{
    Console.WriteLine(product["Name"]);
}

Ganti URL contoh dan konfigurasikan HttpClient untuk autentikasi bila diperlukan. Pembaca mengembalikan rekaman JsonObject.

Instalasi
dotnet add package Robbiblubber.Data.Util.OData

Pustaka .NET didistribusikan melalui NuGet. Alat dan pustaka tetap dikelompokkan dalam suite dan koleksinya.

Lihat semua proyek