【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 @   不溯流光  阅读(1223)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2021-09-23 【C#】序列化、反序列化汇总
2021-09-23 【C#】实现微秒级延时
2021-09-23 【C#】文件或文件夹操作汇总
2020-09-23 【概念】数值转换的潜在问题
点击右上角即可分享
微信分享提示