سؤال

في. NET C # أحاول فتح قالب Excel، وإضافة بعض البيانات وحفظه ك مستند جديد. أنا أحاول أن استخدام شكل وثيقة OPENXML. لا أستطيع العثور على ما يبدو أي توجيهات بشأن كيفية القيام بذلك. ويبدو أن كل المحادثات وثائق حول كيفية كتابة أجزاء مختلفة لحزمة ولكن لا أستطيع أن أجد أي شيء على ما يجب القيام به عند الانتهاء من ذلك وتريد حفظه.

أحد يعرف أين يمكنني العثور على هذه المعلومات؟ أنا يجب أن يكون التفكير حول هذا غير صحيح لأنني لم يجد شيئا مفيدا على ما يبدو أن الغاية الأساسية.

والشكر

هل كانت مفيدة؟

المحلول

ExcelPackage يعمل جيدة لذلك. لم يتم عمل عليها من قبل المؤلف الرئيسي لا أعتقد أن لبعض الوقت ولكنه يتمتع بتأييد لا بأس به من الناس على منتداها التي تعمل أي قضايا خارج.

            FileInfo template = new FileInfo(Path.GetDirectoryName(Application.ExecutablePath)+"\\Template.xlsx");
        try
        {
            using (ExcelPackage xlPackage = new ExcelPackage(strFileName,template))
            {
                //Enable DEBUG mode to create the xl folder (equlivant to expanding a xlsx.zip file)
                //xlPackage.DebugMode = true;

                ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["Sheet1"];

                worksheet.Name = WorkSheetName;

                foreach (DataRow row in dt.Rows)
                {
                    int c = 1;
                    if (r > startRow) worksheet.InsertRow(r);
                    // our query has the columns in the right order, so simply
                    // iterate through the columns
                    foreach (DataColumn col in dt.Columns)
                    {
                        if (row[col].ToString() != null)
                        {
                            worksheet.Cell(r, c).Value = colValue;
                            worksheet.Column(c).Width = 10;
                        }
                        c++;
                    }
                    r++;
                }

                // change the sheet view to show it in page layout mode
                worksheet.View.PageLayoutView = false;

                // save our new workbook and we are done!
                xlPackage.Save();
                xlPackage.Dispose();
            }
        }

نصائح أخرى

والوصول إلى فتح XML الوثائق / SpreadsheetML هو أبعد ما يكون عن ممارسة تافهة. مواصفات كبيرة ومعقدة. و"SDK XML المفتوح" (جوجل عليه) يساعد بالتأكيد، ولكن لا يزال يتطلب بعض المعرفة معيار XML المفتوح الحصول على القيام به من ذلك بكثير.

SpreadsheetGear ل. NET ديه API مماثل إلى Excel ويستطيعون القراءة والكتابة إكسل المفتوحة XML (XLSX ) وثائق وكذلك اكسل 97-2003 الوثائق (XLS).

ويمكنك ان ترى بعض عينات SpreadsheetGear هنا وتنزيل نسخة تجريبية مجانية <أ href = ل "https://www.spreadsheetgear.com/downloads/register.aspx" يختلط = "نوفولو noreferrer"> هنا .

تنويه: أنا أملك SpreadsheetGear LLC

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top