欢迎大家来到IT世界,在知识的湖畔探索吧!
C#是一个基于.Net平台上的高级编程软件,其语法类似于VB和C++,界面友好,可视化做的也是非常好。这里,我介绍一个用C#制作操作Excel的一个小软件。
启动VS2019,新建一个C#窗口应用程序。在窗口Form中添加一个复合框comboBox和一个按钮button1,将按钮button1的Caption改为“Open“,如图所示:
双击Form进入代码编写界面(这一点与VB很像),这里首先需要添加引用,点击“项目”中的“添加引用”,将“Microsoft Excel16.0 Object Library”和“Microsoft Office 16.0 Object Library”两项前的复选框勾选上。(16.0版本用于操作Office2013以上版本,如果想操作低版本,这里应该选择Microsoft Excel 11.0 Object Library和Microsoft Office 11.0 Object Library)
在代码中添加一些Using语句,全部的Using语句如下:
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;
using System.Runtime.InteropServices;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using System.IO;
using System.Reflection;
在 private void Form1_Load的两个大括号{}中添加代码,完整代码如下:
private void Form1_Load(object sender, EventArgs e)
{
StreamReader SR= File.OpenText(@”\\10.138.4.129\抗体中试部门工作文件\2019\6月\AK2002VSTO\info.index”);
string NextLine;
while((NextLine=SR.ReadLine())!=null)
{
string Batch;
Batch = NextLine.Split(‘\t’)[0];
comboBox1.Items.Add(Batch);
}
SR.Close();
}
其中,File.OpenText后面的那个文件是一个目录文件,其以TXT格式存放了所有数据文件的文件名称(不包括路径和扩展名)。
双击button1,完成代码如下:
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;
using System.Runtime.InteropServices;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using System.IO;
using System.Reflection;
namespace WindowsFormsApp20190621_AK2002
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
StreamReader SR= File.OpenText(@”\\10.138.4.129\抗体中试部门工作文件\2019\6月\AK2002VSTO\info.index”);
string NextLine;
while((NextLine=SR.ReadLine())!=null)
{
string Batch;
Batch = NextLine.Split(‘\t’)[0];
comboBox1.Items.Add(Batch);
}
SR.Close();
}
private void Button1_Click(object sender, EventArgs e)
{
Excel.Application ExcelApp;
string Batch, FileName;
if (comboBox1.SelectedIndex == -1)
MessageBox.Show(“未选择批次!”);
else
{
Batch = comboBox1.Text;
FileName= @”\\10.138.4.129\抗体中试部门工作文件\2019\6月\AK2002VSTO\” + Batch + “.fp”;
ExcelApp = (Excel.Application)Marshal.GetActiveObject(“Excel.Application”);
Excel.Worksheet wst;
wst = (Excel.Worksheet)ExcelApp.ActiveSheet;
wst.UsedRange.Clear();
wst.Name = Batch;
int i, j;
i = 1;
StreamReader mySR = File.OpenText(FileName);
string NextLine;
while ((NextLine = mySR.ReadLine()) != null)
{
string[] Msg;
Msg = NextLine.Split(‘\t’);
j = 1;
foreach (string s in Msg)
{
wst.Cells[i, j] = s;
j++;
}
i++;
}
wst.Range[“I2”].Select();
Excel.ChartObjects MyChart = (Excel.ChartObjects)wst.ChartObjects(Type.Missing);
foreach (Excel.ChartObject Ch in MyChart)
Ch.Delete();
Excel.ChartObject ChOb = MyChart.Add(50, 50, 500, 300);
Excel.Chart ch = ChOb.Chart;
ch.ChartWizard(wst.Range[“B2:B13”], Excel.XlChartType.xlXYScatterLines, Type.Missing, Type.Missing, “Day”, “*10^6/mL”, Type.Missing, “生长曲线”, “Day”, “*10^6/mL”, Type.Missing);
ch.SeriesCollection(1).XValues = wst.Range[“A2:A13”];
}
}
}
}
该程序可以对任意的新建Excel实现数据操作
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/18253.html