主函數文件 c#
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main( ) { double[] arr=new double [5]; for (int i=0;i<=4;i++){ arr[i]=i; } ClassExcel ce = new ClassExcel(); ce.openXlsx("D:\\Sheet1.xlsx"); ce.outputAC(arr, 4, 2, 3); ce.setBackColor(221, 34, 54); ce.setWordColor(221, 34, 221); ce.saveXlsx(); ce.closeXlsx(); //ce.outputNumopen(7); } } }
類文件 函數
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Office.Interop.Excel; using System.Windows.Forms; using System.Drawing; namespace ConsoleApplication1 { class ClassExcel { public string Fname; public Microsoft.Office.Interop.Excel.Application xlApp; public Workbook wb; public Worksheet ws; public Range ra; public ClassExcel() { Fname = Environment.CurrentDirectory+"\\"+"workbook1.xlsx"; xlApp = new Microsoft.Office.Interop.Excel.Application(); ra = null; } public void setBackColor(int r,int g,int b){ if (ra == null) { MessageBox.Show("Range不對", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } ra.Cells.Interior.Color = System.Drawing.Color.FromArgb(r, g, b).ToArgb(); } public void setWordColor(int r, int g, int b) { if (ra == null) { MessageBox.Show("Range不對", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } ra.Cells.Font.Color = System.Drawing.Color.FromArgb(r, g, b).ToArgb(); } public int newXlsx(){ if (xlApp == null) { MessageBox.Show("Excel App沒有創建", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); ws = (Worksheet)wb.Worksheets[1]; if (ws == null) { MessageBox.Show("Worksheet建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } return 0; } public int openXlsx(string n) { if (xlApp == null) { MessageBox.Show("Excel App沒有創建", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } wb = xlApp.Workbooks.Add(n); Fname = n; ws = (Worksheet)wb.Worksheets[1]; if (ws == null) { MessageBox.Show("Worksheet建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } return 0; } public int saveXlsx() { if (xlApp == null) { MessageBox.Show("Excel App沒有創建", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } if (ws == null) { MessageBox.Show("Worksheet建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } //設置禁止彈出保存和覆蓋的詢問提示框 xlApp.DisplayAlerts = false; xlApp.AlertBeforeOverwriting = false; //保存工做簿 wb.SaveAs(Fname); return 0; } public int saveAsXlsx(string n) { if (xlApp == null) { MessageBox.Show("Excel App沒有創建", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } if (ws == null) { MessageBox.Show("Worksheet建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } //設置禁止彈出保存和覆蓋的詢問提示框 xlApp.DisplayAlerts = false; xlApp.AlertBeforeOverwriting = false; //保存工做簿 wb.SaveAs(n); return 0; } public int outputNum(double dbl,int c,int r) { if (xlApp == null) { MessageBox.Show("EXCEL沒打開或建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } if (ws == null) { MessageBox.Show("Worksheet建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } ws.Cells[r,c]=dbl; // Select the Excel cells, in the range c1 to c7 in the worksheet. //Range aRange = ws.get_Range("A1", "E1"); //if (aRange == null) //{ // MessageBox.Show("Range不對", "EXCEL輸出", // MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // return -1; //} //aRange.Font.Size = 15; //aRange.Cells.Interior.Color = System.Drawing.Color.FromArgb(255, 204, 153).ToArgb(); return 0; } public int outputAC(double[] a,int n,int c,int r) { if (xlApp == null) { MessageBox.Show("EXCEL沒打開或建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } if (ws == null) { MessageBox.Show("Worksheet建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } ra = ws.get_Range(ws.Cells[r, c] as Range, ws.Cells[r, c + n]as Range); for (int i = 0; i <= n; i++) { ws.Cells[r, c+i] = a[i]; } return 0; } public int outputAR(double[] a, int n, int c, int r) { if (xlApp == null) { MessageBox.Show("EXCEL沒打開或建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } if (ws == null) { MessageBox.Show("Worksheet建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } ra = ws.get_Range(ws.Cells[r, c]as Range, ws.Cells[r+n, c]as Range); for (int i = 0; i <= n; i++) { ws.Cells[r+ i, c ] = a[i]; } return 0; } public int output2DA(double[][] a, int l, int m,int r,int c) { if (xlApp == null) { MessageBox.Show("EXCEL沒打開或建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } if (ws == null) { MessageBox.Show("Worksheet建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } ra = ws.get_Range(ws.Cells[r, c]as Range, ws.Cells[r + l, c+m]as Range); for (int i = 0; i <= l; i++) { for (int j = 0; j <= m; j++) { ws.Cells[r+i, c+j] = a[i][j]; } } return 0; } public int output2DAr(double[][] a, int l, int m, int r, int c) { if (xlApp == null) { MessageBox.Show("EXCEL沒打開或建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } if (ws == null) { MessageBox.Show("Worksheet建立不成功", "EXCEL輸出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return -1; } ra = ws.get_Range(ws.Cells[r, c]as Range, ws.Cells[r + l, c + m]as Range); for (int i = 0; i <= l; i++) { for (int j = m; j <= 0; j--) { ws.Cells[r + i, c + j] = a[i][j]; } } return 0; } public int closeXlsx() { wb.Close(); xlApp.Quit(); return 0; } } }