ইপিপ্লাসে অটো কলামের প্রস্থ


139

কলামগুলিতে পাঠ্য দীর্ঘ থাকা অবস্থায় কীভাবে কলামগুলি স্বয়ংক্রিয় প্রস্থে পরিণত করতে হয়?

আমি এই কোডটি ব্যবহার করি

 Worksheet.Column(colIndex).AutoFitColumn() 'on all columns'
 Worksheet.cells.AutoFitColumns()
 Worksheet.Column(colIndex).BestFit = True  'on all columns'

এই পদ্ধতির কোনওটিই কাজ করছে না

এটি কার্যকর করার কোনও উপায় আছে কি?

দ্রষ্টব্য: আমার কিছু পাঠ্য ইউনিকোড ব্যবহার করে।


2
Worksheet.cells.AutoFitColumns (); কাজ করবে, তবে আপনি সমস্ত ডেটা ফর্ম্যাট করে এবং মুদ্রণ করার পরে এটি যুক্ত করা উচিত।
সুরেশ কামরুশী

উত্তর:


250

ব্যবহার করুন AutoFitColumns, তবে আপনাকে ঘরগুলি নির্দিষ্ট করতে হবে, আমি পুরো কার্যপত্রকটি ধরে নিয়েছি:

VB.NET

Worksheet.Cells(Worksheet.Dimension.Address).AutoFitColumns()

সি শার্প

Worksheet.Cells[Worksheet.Dimension.Address].AutoFitColumns();

দয়া করে নোট করুন ওয়ার্কশিটটি পূরণ করার পরে আপনাকে এই পদ্ধতিটি কল করতে হবে।


9
গুরুত্বপূর্ণ জিনিসটি হ'ল ওয়ার্কশিটটি পূরণ করার পরে আপনাকে এই পদ্ধতিটি কল করতে হবে কারণ ওয়ার্কশিটটিতে ডাইমেনশন সম্পত্তিটি বাতিল হয়ে যাবে যদি কার্যপত্রকটিতে কোনও ডেটা না থাকে।
ল্যান্ডিও

@ ল্যান্ডিও ধন্যবাদ এটি আমার পক্ষে সহায়তা করে। বিষয়বস্তু পূরণের পরে প্রস্থ নির্ধারণ করা গুরুত্বপূর্ণ।
লঙ্কা

3
যখন আমি কোনও পরামিতি সরবরাহ করছিলাম না তখন অটোফিটকলামগুলি পদ্ধতি আমার পক্ষে কাজ করে না, যখন আমি এতে নূন্যতম এবং সর্বোচ্চ প্রস্থ যুক্ত করি, এটি পুরোপুরি কার্যকর হয়।
জিশান আজমল

4
এটি একেবারে সঠিক উত্তর - পাঙ্গানকে এটির মতো চিহ্নিত করা উচিত।
জিডিবি

আপনার যদি কোষ গণনা করা থাকে তবে আপনাকে অবশ্যই অবশ্যই Worksheet.Calculate()প্রথমে কল করতে হবে যাতে সেই ঘরের জন্য মূল্য নির্ধারণ করা যায়।
মাইকএইচ

38

আমি ইপিপ্লাসের ৩.১.৩.০ সংস্করণ সহ এই কোডটি ব্যবহার করেছি এবং এটি কাজ করছে:

worksheet.Column(1).AutoFit();

যেখানে আমার ওয়ার্ডশিটটি আমার কোডটিতে তৈরি করা (একটি স্ট্যাটিক পদ্ধতি সহ কোনও শ্রেণি নয়!) একটি কার্যপত্রকটি পরিবর্তনশীল।

স্পষ্টতই আপনি কলামগুলি পূরণ করার পরে আপনাকে এই পদ্ধতিটি কল করতে হবে


সারা দিন ত্রুটি হচ্ছে। "'সিস্টেম.ড্রেইং এই প্ল্যাটফর্মে সমর্থিত নয়।"
কুরসাত তুর্কি

15

আমি জানি এটি একটি পুরানো প্রশ্ন, তবে আমি নীচের কোডটি ব্যবহার করি এবং মনে হয় আপনি যা করার চেষ্টা করেছেন তা সরাসরি সম্বোধন করে।

using (var xls = new ExcelPackage())
{
    var ws = xls.Workbook.Worksheets.Add("Some Name");

    //**Add Column Names to worksheet!**
    //**Add data to worksheet!**

    const double minWidth = 0.00;
    const double maxWidth = 50.00;

    ws.Cells.AutoFitColumns(minWidth, maxWidth);

    return pkg.GetAsByteArray();
}

11

মাত্র সীমাটি নির্দিষ্ট করে দিয়ে আপনি ঘরগুলি ফিট করতে পারবেন তা বোঝাতে চেয়েছিলেন, সমস্ত কলাম ইত্যাদি বিন্যাস করার পরে এটিকে কল করতে ভুলবেন না:

worksheet.Cells.AutoFitColumns()

1
এটি আমার পক্ষে কাজ করেছে। আপনি ডেটা যুক্ত করার পরে এটিকে কল করতে মনে রাখবেন না। ডেটা যুক্ত হওয়ার আগে আমি যখন ফোন করেছিলাম তখন কিছুই ঘটেনি।
মার্টব

10

আমি জানি কিছুটা দেরি হলেও আজ আমারও একই সমস্যা হয়েছে। আপনার যদি worksheet.DefaultColWidthসংজ্ঞায়িত থাকে তবে এটি কাজ করবে না। আমি সেই লাইনটি সরিয়ে ফেলেছি Worksheet.cells.AutoFitColumns();এবং এটি এখন কাজ করে।


5
sheet.Cells.AutoFitColumns()সহজ, টিপ জন্য ধন্যবাদ! ক্লোজডএক্সএমএল এ, আপনি করেনsheet.Columns().AdjustToContents()
নওফাল

6

এটা আমার জন্য ঠিক কাজ করছে।

চেষ্টা করুন:

ExcelWorksheet wsSheet1 = ExcelPkg.Workbook.Worksheets.Add("Sheet1");
wsSheet1.Cells[wsSheet1.Dimension.Address].AutoFitColumns();
ExcelPkg.SaveAs();

3

worksheet.Column(1).AutoFit(0);অটোফিট ব্যবহার করতে হবে () কৌশলটি করছে না।


3

আপনাকে প্রস্থ গণনা করতে হবে। লাইব্রেরিতে কোনও অটোসাইজিং ফাংশন নেই যা আপনার ইচ্ছা অনুসারে কাজ করবে।

মোড়কযুক্ত পাঠ্য এবং সূত্রগুলি সহ কক্ষগুলির সাথে অটোফিটকলম কাজ করবে না।

আপনি কীভাবে সমস্যার সমাধান করতে পারেন তার উদাহরণগুলির জন্য http://epplus.codeplex.com/discussion/218294?ProjectName=epplus দেখুন ।


epplus.codeplex.com/discussion/218294?ProjectName=epplus এই সমস্যার জন্য আমি কোনও কার্যকরী সমাধান খুঁজে পাচ্ছি না।
পেঙ্গান

3

.NET এর উত্তরসূরি হিসাবে .NET কোর EPPplus লাইব্রেরি সহ ফাংশন অটোফিট সেলগুলিকে আর সমর্থন করে না।

worksheet.Cells.AutoFitColumns();

অথবা

worksheet.Column(1).AutoFit();

ব্যতিক্রম ঘটায়:

"System.Drawing is not supported on this platform."

সিস্টেম.ড্রেইং সমাবেশটি জিডিআই এবং উইন্ডোজ নির্দিষ্ট গ্রন্থাগারের উপর নির্ভরশীল যা অন্য সমাধান দ্বারা প্রতিস্থাপন করতে হবে। এই সমস্যার সমাধান আমার কাছে অজানা।


1

আমি এটি ব্যবহার করি এবং ভাল কাজ করছি।

Dim objExcel As New ExcelPackage
Dim Sheet As ExcelWorksheet = objExcel.Workbook.Worksheets.Add("SheetName")
Sheet.Cells("B1:BN").AutoFitColumns()
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.