【C#】Spire.xls.dll、Spire.Pdf.dll使用汇总
一、Excel
1、Datagridview导出Excel
https://blog.csdn.net/binbingbong/article/details/106051194
public class xlsP { public string sheetname { get; set; } public DataTable dt { get; set; } } private void SetToExcel(List<xlsP> lt_xp) { string machineno = cbox_machineno.Text; if (Directory.Exists(Application.StartupPath + "\\EXCELSAVE")) { Directory.CreateDirectory(Application.StartupPath + "\\EXCELSAVE"); } try { if (File.Exists(Application.StartupPath + "\\EXCELSAVE\\" + machineno + ".xlsx")) { try { File.Delete(Application.StartupPath + "\\EXCELSAVE\\" + machineno + ".xlsx"); } catch { } } Workbook book = new Workbook(); book.CreateEmptySheets(lt_xp.Count); book.SaveToFile(Application.StartupPath + "\\EXCELSAVE\\" + machineno + ".xlsx", ExcelVersion.Version2007); for (int i = 0; i < lt_xp.Count; i++) { xlsP xp = lt_xp[i]; Worksheet sheet = book.Worksheets[i]; sheet.InsertDataTable(xp.dt, true, 1, 1); sheet.Name = xp.sheetname; } book.SaveToFile(Application.StartupPath + "\\EXCELSAVE\\" + machineno + ".xlsx", ExcelVersion.Version2007); System.Diagnostics.Process.Start(Application.StartupPath + "\\EXCELSAVE"); } catch { MessageBox.Show("表格佔用,先關掉該機台名EXCEL文件!"); } } public DataTable GetDgvToTable(DataGridView dgv) { DataTable dt = new DataTable(); // 列强制转换 for (int count = 0; count < dgv.Columns.Count; count++) { DataColumn dc = new DataColumn(dgv.Columns[count].Name.ToString()); dt.Columns.Add(dc); } // 循环行 for (int count = 0; count < dgv.Rows.Count; count++) { DataRow dr = dt.NewRow(); for (int countsub = 0; countsub < dgv.Columns.Count; countsub++) { dr[countsub] = Convert.ToString(dgv.Rows[count].Cells[countsub].Value); } dt.Rows.Add(dr); } return dt; }
2、给Excel添加、删除数字签名
https://www.cnblogs.com/Yesi/p/13959393.html
二、PDF
1、使用汇总
https://www.cnblogs.com/Yesi/p/4289981.html
2、给PDF添加可见的数字签名
/*******相与枕藉乎舟中,不知东方之既白*******/