صفحات گسترده MS Excel به طور گسترده ای برای نگهداری داده های کوچک، متوسط یا بزرگ استفاده می شود. در موارد مختلف، صفحات گسترده به عنوان یک پایگاه داده برای ذخیره داده های برنامه عمل می کنند. در چنین شرایطی، ممکن است لازم باشد داده های ذخیره شده در فایل های اکسل را از داخل برنامه های وب یا دسکتاپ خود بخوانید. برای چنین مواردی، این مقاله نحوه تبدیل داده های اکسل به DataTables در سی شارپ را پوشش می دهد.

C# Excel به DataTable تبدیل API

Aspose.Cells for .NET یک کتابخانه کلاسی است که به شما امکان می دهد ویژگی های اتوماسیون اکسل را در برنامه های NET پیاده سازی کنید. علاوه بر این، API به شما اجازه می دهد تا داده ها را از کاربرگ های Excel به ADO.NET DataTable در چند مرحله صادر کنید. می‌توانید API را دانلود یا از طریق NuGet نصب کنید.

PM> Install-Package Aspose.Cells

تبدیل اکسل به DataTable در سی شارپ

هنگام صادرات داده‌ها از کاربرگ‌های اکسل به DataTables، دو حالت ممکن وجود دارد: داده‌ها می‌توانند به شدت تایپ شوند یا غیرقوی. در هر دو مورد، می‌توانید تبدیل Excel به DataTable را بر این اساس انجام دهید. بیایید نگاهی به نحوه برخورد با هر یک از سناریوهای ذکر شده در بالا بیاندازیم.

تبدیل داده های اکسل قوی تایپ شده به DataTable در سی شارپ

داده های تایپ قوی به این معنی است که مقادیر موجود در یک ستون به یک نوع داده خاص تعلق دارند. برای چنین مواردی، می توانید با استفاده از مراحل زیر، داده های اکسل را به DataTable در سی شارپ صادر کنید.

نمونه کد زیر نحوه صادرات اکسل به DataTable را نشان می دهد.

// یک جریان فایل حاوی فایل اکسل که باید باز شود ایجاد کنید
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// نمونه سازی یک شی Workbook
//باز کردن فایل اکسل از طریق جریان فایل
Workbook workbook = new Workbook(fstream);

// به اولین کاربرگ در فایل اکسل دسترسی پیدا کنید
Worksheet worksheet = workbook.Worksheets[0];

// صادر کردن محتویات 2 ردیف و 2 ستون از سلول اول به DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);

// DataTable را با DataGrid متصل کنید
dataGridView1.DataSource = dataTable;

// جریان فایل را ببندید تا همه منابع آزاد شوند
fstream.Close();

تبدیل داده های اکسل بدون تایپ قوی به DataTable در سی شارپ

حال، بیایید نگاهی به مورد دیگری بیندازیم که مقادیر در کاربرگ به شدت تایپ نشده اند. این بدان معنی است که آنها به یک نوع داده خاص تعلق ندارند. مراحل زیر برای صادر کردن داده های Excel به DataTable در این مورد است.

نمونه کد زیر نشان می دهد که چگونه داده های تایپ نشده را از اکسل به DataTable در سی شارپ صادر کنیم.

// یک جریان فایل حاوی فایل اکسل که باید باز شود ایجاد کنید
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// نمونه سازی یک شی Workbook
//باز کردن فایل اکسل از طریق جریان فایل
Workbook workbook = new Workbook(fstream);

// به اولین کاربرگ در فایل اکسل دسترسی پیدا کنید
Worksheet worksheet = workbook.Worksheets[0];

// صادر کردن محتویات 2 ردیف و 2 ستون از سلول اول به DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);

// DataTable را با DataGrid متصل کنید
dataGridView1.DataSource = dataTable;

// جریان فایل را ببندید تا همه منابع آزاد شوند
fstream.Close();

مجوز رایگان دریافت کنید

برای امتحان API بدون محدودیت ارزیابی، می‌توانید یک مجوز موقت رایگان دریافت کنید.

نتیجه

در این مقاله نحوه صادرات یا تبدیل داده های Excel به ADO.NET DataTables با استفاده از سی شارپ را یاد گرفتید. آموزش گام به گام و نمونه کد نحوه برخورد با داده های تایپ شده و غیر قوی در کاربرگ ها را نشان داده است. می‌توانید با استفاده از مستندات درباره C# Excel API بیشتر کاوش کنید.

همچنین ببینید