بهار آموزش با تخفیف های شگفت انگیز توسینسو بهار آموزش با تخفیف های شگفت انگیز توسینسو
مانده تا پایان تخفیف
مشاهده دوره ها
0

برنامه تهيه فايل بانك با سي شارپ

سلام خدمت همه دوستان

من مي خواستم يك فايل براي بانك تهيه كنم و براي تهيه اين فايل به ابتداي چند ستون بايد صفر اضافه كنم حالا مي خواستم ببينم امكانش هست كه با سي شارپ چنين برنامه اي نوشت كه اين كار رو انجام بده( البته من اين كار رو از طريق خود اكسل انجام ميدم ولي خيلي وقت گيره و طول ميكشه تا 200 تا ركورد رو درست كنم)

من مي خواستم با سي شارپ برنامه اي بنويسيم كه داخل فايل اكسل رو ابتدا چك كنه ببينه مثلا سلول اول عدد چند رقمي هست و بسته به اين شرط بطور مثال اگر عدد بين 1 تا 9 بود 4 تا صفر به اولش اضافه كنه يا اگر2 رقمي بود 3 تا صفر به اول عدد اضافه كنه يا اگه 3 رقمي بود 2 صفر به اولش اضافه كنه

پرسیده شده در 1394/11/14 توسط

4 پاسخ

1

به مثال زیر دقت کنید:

string testZeroRight = "RightZero"; // ===> string.Length =8

با دو تابع زیر می تونی به دلخواه در سمت چپ یا راست اون صفرها رو در سی شارپ قرار بدی :

()PadLeft

()PadRight

حالا میتونی با فرمت زیر ازش استفاده کنی:

("کاراکتر دلخواهی که قراره فضای خالی را پر کنه","کل فضایی که برایاین فیلد در اختیار داری" )testZeroRight.PadLeft

: For Example

;('MessageBox.Show(testZeroRight.PadLeft(12, '0

دراین مثال اومده کل فضا را 12 درنظر گرفته ومنهای طول متغییر رشته ای کرده و در نهایت به تعداد باقیمانده کاراکتر دلخواه (در اینجا صفر) را در سمت چپ اون فضا پُر کرده و قرار داده.

پاسخ در 1394/11/14 توسط
0

آخه شما گفتید خیلی طول میکشه تا 200 رکورد رو درست کنید اما با این روش به دقیقه نمیکشه تا 200 رکوردتون درست بشه.

پاسخ در 1394/11/14 توسط
0

ممنون از توجه شما

حرف شما درست من داخل اكسل گفتم مي تونم اين كار رو انجام بدم

ولي مي خواستم اگه بتونم برنامشو بنويسم كه فايل اكسل رو دريافت كنه و بقيه كاراشو خود نرم افزار انجام بده و يك فايل به عنوان خروجي بده بيرون

به نظر شما كدوم راه به صرفه تره؟ ويرايش داخل اكسل يا ويرايش توسط نرم افزار

پاسخ در 1394/11/14 توسط
1

شدنش که میشه باید از کلاس های کتابخانه ای office توی سی شارپ استفاده بشه. به نظر میرسه کار سختی نیست

ولی توی خود اکسل با یه فرمول خیلی ساده و آب خوردن می تونی این کار رو انجام بدی:

=TEXT(A1,"00000")

با فرض اینکه A1 سلولی باشه که عدد مثلا 12 توش درج شده اگه فرمول سلول دیگری مثل D1 رو برابر با فرمول بالا قرار بدی مقدارش میشه 00012

بعد برای اینکه همه ردیف ها این فرمول رو بگیرن به اضافه کوچک سمت چپ سولی که در حال حاضر فرمول رو داره با ماوس میگیری و میکشی پائین تا بقیه ردیف ها هم اعمال بشه.

شدنش که میشه باید از کلاس های کتابخانه ای office توی سی شارپ استفاده بشه. به نظر میرسه کار سختی نیست
ولی توی خود اکسل با یه فرمول خیلی ساده و آب خوردن می تونی این کار رو انجام بدی:
<text>
=TEXT(A1,00000)
<text>
با فرض اینکه A1 سلولی باشه که عدد مثلا 12 توش درج شده اگه فرمول سلول دیگری مثل D1 رو برابر با فرمول بالا قرار بدی مقدارش میشه 00012
بعد برای اینکه همه ردیف ها این فرمول رو بگیرن به اضافه کوچک سمت چپ سولی که در حال حاضر فرمول رو داره با ماوس میگیری و میکشی پائین تا بقیه ردیف ها هم اعمال بشه.
||http://programming.tosinso.com/files/get/66bca123-a644-4072-8c67-d19ad56229eb||

پاسخ در 1394/11/14 توسط

پاسخ شما