Bonjour,
Mon problème est le suivant :
Je veux créer un programme allant chercher les données des boutons et labels à l'extérieur (dans un tableau Excel).
Vu que ce programme risque d'être conséquent, je m'oblige à diviser toutes mes routines en classe et à les inbstancié dans le main().
De plus, la recherche dans Excel est fort lente, je mets donc mon tableau Excel dans un tableau C# et n'utilise plus que ce tableau (Le programme est donc beaucoup plus rapide).
Seulement, lorsque je suis dans ma Winform et que j'aimerais utiliser mon objet tableau (Crée dans le main()) je n'y arrive pas...
Pourrais je rajouter des argument à la Form1() ? Est ce que j'utilise un mauvais chemin pour trouver mon tableau dans la Winform ?
Je vous ai mis ma classe de mise en mémoire du tableau("MiseEnMemoireExcel.cs"), le main ("program.cs") ainsi que la WinForm("Form1.cs").
Concretement j'ai besoin d'aide pour savoir quoi mettre à la ligne 23 de Form1.cs.D'avance merci pour vos réponses !
Code : Sélectionner tout - Visualiser dans une fenêtre à part label1.Text = ...
Donatien
Program.cs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; namespace GestionAcces { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { MiseEnMemoireExcel miseEnMemoireExcelEcran = new MiseEnMemoireExcel ("Ecran"); MiseEnMemoireExcel miseEnMemoireExcelPersonnel = new MiseEnMemoireExcel("personnel"); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } }
MiseEnMemoireExcel.cs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 using System; using Excel = Microsoft.Office.Interop.Excel; using Microsoft.Office.Interop.Excel; namespace GestionAcces { public class MiseEnMemoireExcel { object[,] tableauExcel = new object[500, 26]; public object[,] TableauExcel { get { return tableauExcel; } set { tableauExcel = value; } } public MiseEnMemoireExcel(string SheetName) { Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); xlApp.Workbooks.Open("C:\\Users\\be4u0005\\Documents\\Excel\\Test.xlsx"); int i = 0; for (int row = 1; row <= 500; row++) //lit les différentes lignes. Si on veut aller jusqu'au bout : xls.RowCount { int j = 0; for (int colIndex = 1; colIndex <= 26; colIndex++) //lit les différentes colonnes.Si on veut aller jusqu'au bout : xls.ColCountInRow { object cell = (xlApp.Worksheets.Application.Cells[row, colIndex]).Value; //On va lire la valeur à une certaine (ligne, colonne) tableauExcel[i, j] = cell; j++; } i++; } xlApp.Workbooks.Close(); } } }
Form1.cs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace GestionAcces { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { label1.Text = } private void button1_Click(object sender, EventArgs e) { } } }
Partager