【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添加可见的数字签名

https://www.cnblogs.com/Yesi/p/6665453.html

posted @ 2022-09-23 17:02  不溯流光  阅读(1057)  评论(0编辑  收藏  举报