منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
تمدد اعمدة الاكسل عند نقل البيانات اليه - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : تمدد اعمدة الاكسل عند نقل البيانات اليه (/showthread.php?tid=8821)



تمدد اعمدة الاكسل عند نقل البيانات اليه - tecno2012 - 08-05-13

برنامجي ينقل البيانات من الفيجول بيسك الى الاكسل ولكن احيانا عندما اقوم بنقل البيانات
مثلا لو كانت عندي شهادة لطالب معين وتصميم هذه الشهادة كصفحة واحده فقط
ولكن احيانا عندما انقر على زر الامر الذي يقوم بكتابة معدلات الطالب على الشهادة ينفذ الامر لكن عند فتح الشهادة اجد ان بعض الاعمدة فيها ممتد وهذا يؤدي الى جعل الشهادة على صفحتين

كيف استطيع تثبيت عرض العمود برمجيا او من خلال الاكسل يكون افضل


تمدد اعمدة الاكسل عند نقل البيانات اليه - kslawy - 08-05-13

ممكن تعرض لنا كود نقل البيانات ؟


تمدد اعمدة الاكسل عند نقل البيانات اليه - tecno2012 - 08-05-13

الكود طويل لكن هذا جزء منه
If (from = 2) Then
.Range(cell2).Font.Size = 12
.Range(cell3).Font.Size = 12

If (num >= 11 And (course = 8 Or course = 7)) Then
.Range(cell2).Value = result(sec_avg)
.Range(cell3).Value = result(tot_avg)

Else
.Range(cell2).Value = s_avg
.Range(cell3).Value = t_avg
End If
' .Range(cell3).Cells
End If


في جملة كتبتها وهي
.Cells(, "H").EntireColumn.ColumnWidth = 9.14
ولكن شكلها ما بتاثر كثير وكمان المشكلو انو صعب كل ما بدي اكتب في عمود بدي اكتب هاي الجملة


تمدد اعمدة الاكسل عند نقل البيانات اليه - tecno2012 - 09-05-13

لا يوجد احد يعلم


تمدد اعمدة الاكسل عند نقل البيانات اليه - hoob computer - 09-05-13

أخي الكريم, من أين تنقل البيانات؟ هل من الـ (DataGridView) أم من قاعدة البيانات مباشرة أم من (Textbox)؟


تمدد اعمدة الاكسل عند نقل البيانات اليه - hoob computer - 09-05-13

أخي العزيز tecno2012,
وجدت لك هذا الكود في حال كنت تستخدم الـ (DataGridView) لتقوم بعملية الـ (Export), قم بتجربته و أخبرني:

PHP كود :
Dim excelBook As Excel.Workbook xlApp.Workbooks.Add
            Dim excelWorksheet 
As Excel.Worksheet CType(excelBook.Worksheets(1), Excel.Worksheet)
            
xlApp.Visible True
            rowsTotal 
DataGridView1.RowCount 1
            colsTotal 
DataGridView1.Columns.Count 1
            With excelWorksheet
                
.Cells.Select()
                .
Cells.Delete()
                For 
iC 0 To colsTotal
                    
.Cells(1iC 1).Value DataGridView1.Columns(iC).HeaderText
                Next
                
For 0 To rowsTotal 1
                    
For 0 To colsTotal 1
                        
.Cells(21).value DataGridView1.Rows(I).Cells(j).Value
                    Next j
                Next I
                
.Rows("1:1").Font.FontStyle "Bold"
                
.Rows("1:1").Font.Size 10
                
.Cells.Columns.AutoFit()
                .
Cells.Select()
                .
Cells.EntireColumn.AutoFit()
                .
Cells(11).Select()
            
End With 

إنتبه الى الكود
PHP كود :
.Cells.Columns.AutoFit() 
و ما يقوم بعمله هذا الكود.


تمدد اعمدة الاكسل عند نقل البيانات اليه - tecno2012 - 12-05-13

البيانات احضرها من قاعدة البيانات وارسلها مباشرة الى الاكسل سؤال هل الجملة الاخيرة .Cells.Columns.AutoFit() تؤثر على عرض العمود اللي انا واضعوه


تمدد اعمدة الاكسل عند نقل البيانات اليه - hoob computer - 12-05-13

السلام عليكم,

نعم إنها تؤثر على عرض العمود الذي وضعته, حيث إنها تقوم بتغيير عرض العمود اوتوماتيكيا.

جرب الكود و أعطني النتيجة.

تحياتي