需要引用 using Spire.Xls;
public class ReplaceExcelData
{
public string num { set; get; }
public object Xvalue { set; get; }
public object Yvalue { set; get; }
public object Zvalue { set; get; }
public ReplaceExcelData(istring _NUM, object _Xvalue, object _Yvalue, object _Zvalue)
{
this.num = _NUM;
this.Xvalue = _Xvalue;
this.Yvalue = _Yvalue;
this.Zvalue = _Zvalue;
}
}
//我这里从txt文档李读取数据 存到集合内
public static List<ReplaceExcelData> data(string path)
{
List<ReplaceExcelData> repData = new List<ReplaceExcelData>();
string[] allLines = System.IO.File.ReadAllLines(path, Encoding.Default);
foreach (var vbs in allLines)
{
string[] value = vbs.Replace(" ", "").Split('\t');
repData.Add(new ReplaceExcelData(value[0], value[2], value[4], value[6]));
}
return repData;
}
public static void ReplaceDataToExcel(string tempFilePath, List<ReplaceExcelData> replaceData)
{
//xlsx文件路径
string OutResult = @"C:\Users\80999\Desktop\result_" + DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss") + ".xlsx";
List<ReplaceExcelData> datas = data(@"C:\Users\80999\Desktop\diff.txt"); //数据存放路径
Workbook workbook = new Workbook();
//获取第一张工作表
Worksheet sheet = workbook.Worksheets[0];
sheet.Range[1, 1].Text = "序号"; //表头
sheet.Range[2, 1].Text = "X";
sheet.Range[3, 1].Text = "Y";
sheet.Range[4, 1].Text = "Z";
for (int i = 1; i <= datas.Count; i++)
{
sheet.Range[1, i+1].Text = datas[i-1].num;
sheet.Range[2, i+1].Text = datas[i-1].Xvalue.ToString();
sheet.Range[3, i+1].Text = datas[i-1].Yvalue.ToString();
sheet.Range[4, i+1].Text = datas[i-1].Zvalue.ToString();
}
ExcelPicture picture = sheet.Pictures.Add(2, 1, @"C:\Users\80999\Desktop\result.jpg"); //加载图片
picture.Width = 631; //设置图片宽度
picture.Height = 2008; //设置图片高度
picture.Rotation = 90; //图片旋转角度
picture.TopRow = 6; //高度位置在哪一行
picture.LeftColumnOffset = 75;
picture.TopRowOffset = 20;
workbook.SaveToFile(OutResult, FileFormat.Version2016); //保存
//System.Diagnostics.Process.Start(OutResult);
sheet.Clear(); //使用结束后释放
workbook.Dispose();
}