public void Txt(string path)
{
string[]data= File.ReadAllLines(path);
this.listBox1.SelectedIndex = Convert.ToInt32(data[10]) - 1;//导线类型
this.listBox2.SelectedIndex = Convert.ToInt32(data[14]) - 1;//角度类型
//导入坐标
int i= 0;
int k = 1;
int j = 0;
foreach(DataGridViewRow rows in this.dataGridView2.Rows)
{
rows.Cells[0].Value = data[13].Split(',')[i];
rows.Cells[1].Value = data[13].Split(',')[k];
i += 2;
k += 2;
}
this.dataGridView1.RowCount = data[15].Split(',').Length;
foreach (DataGridViewRow rows in this.dataGridView1.Rows)
{
try
{
rows.Cells[0].Value = data[15].Split(',')[j];
rows.Cells[1].Value = data[16].Split(',')[j];
}
catch
{
break;
}
j++;
}
}
public void Xls(string path)
{
// 创建 Excel 应用程序对象
Excel.Application excelApp = new Excel.Application();
excelApp.DisplayAlerts = false; // 禁用警告框显示
// 打开 XLS 文件
Excel.Workbook workbook = excelApp.Workbooks.Open(path);
// 获取第一个工作表
Excel.Worksheet worksheet = workbook.Sheets[1]; // 或者 workbook.Worksheets[1]
// 获取使用的范围
Excel.Range usedRange = worksheet.UsedRange;
this.listBox1.SelectedIndex = (worksheet.Cells[1,2].Value?.ToString() == "附和导线" ? 0 : 1); //导线类型
if (listBox1.SelectedIndex == 0)//附和
{
this.listBox2.SelectedIndex = (worksheet.Cells[8, 2].Value?.ToString() == "左角" ? 0 : 1); //导线类型
// 遍历行\
dataGridView2.Rows.Clear();
for (int i = 4; i <8; i++)//附和4个点,数量固定
{
dataGridView2.Rows.Add(worksheet.Cells[i, 2].Value?.ToString(), worksheet.Cells[i, 3].Value?.ToString());
}
int usedcount = usedRange.Rows.Count - 12;//附和数据有效长度
for (int i=12;i<usedcount+12;i++)
{
dataGridView1.Rows.Add(worksheet.Cells[i, 2].Value?.ToString(), worksheet.Cells[i, 3].Value?.ToString());
}
}
else
{
this.listBox2.SelectedIndex = (worksheet.Cells[6, 2].Value?.ToString() == "左角" ? 0 : 1); //导线类型
dataGridView2.Rows.Clear(); // 遍历行
for (int i = 4; i < 6; i++)//闭合2个点,数量固定
{
dataGridView2.Rows.Add(worksheet.Cells[i, 2].Value?.ToString(), worksheet.Cells[i, 3].Value?.ToString());
}
int usedcount = usedRange.Rows.Count - 12;//闭合数据有效长度
for (int i = 10; i < 10+usedcount; i++)
{
dataGridView1.Rows.Add(worksheet.Cells[i, 2].Value?.ToString(), worksheet.Cells[i, 3].Value?.ToString());
}
}
// 关闭 Excel 应用程序对象
workbook.Close();
excelApp.Quit();
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if(this.listBox1.SelectedIndex==0)
{
dataGridView2.RowCount = 4;
}
else
{
dataGridView2.RowCount = 2;
}
}
private void label1_Click(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
this.dataGridView2.RowCount = 4;
}
导线读取文件优化
最新推荐文章于 2024-07-25 10:31:12 发布