打开xlsx文件时如何保护密码 [英] How to protect password when opening xlsx file

查看:154
本文介绍了打开xlsx文件时如何保护密码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经从数据集创建了xlsx格式,它工作正常,但我需要在目标路径中打开xlsx文件时保护密码。



i已将我的代码放在下面,请告诉我应该在哪里修改。



亲切的帮助我出去了,如何为密码保护代码。



我尝试过:



I have created xlsx format from dataset, It is working fine, But i need to protect password when we open xlsx file in destination path.

i have placed my code below, kindly let me know where should i do modification.

kindly help me out, how to code for password protect.

What I have tried:

using DocumentFormat.OpenXml.Spreadsheet;
using DocumentFormat.OpenXml.Packaging;  

using (var workbook = SpreadsheetDocument.Create(XLSXCreationPath, DocumentFormat.OpenXml.SpreadsheetDocumentType.Workbook))
                {
                    var workbookPart = workbook.AddWorkbookPart();
                    workbook.WorkbookPart.Workbook = new Workbook();
                    workbook.WorkbookPart.Workbook.Sheets = new Sheets();
                    var lines = new List<string>();
                    foreach (System.Data.DataTable table in ds.Tables)
                    {
                        var sheetPart = workbook.WorkbookPart.AddNewPart<WorksheetPart>();
                        var sheetData = new SheetData();
                        sheetPart.Worksheet = new Worksheet(sheetData);
                        Sheets sheets = workbook.WorkbookPart.Workbook.GetFirstChild<Sheets>();
                        string relationshipId = workbook.WorkbookPart.GetIdOfPart(sheetPart);
                        uint sheetId = 1;
                        if (sheets.Elements<Sheet>().Count() > 0)
                        {
                            sheetId =
                                sheets.Elements<Sheet>().Select(s => s.SheetId.Value).Max() + 1;
                        }
                        Sheet sheet = new Sheet() { Id = relationshipId, SheetId = sheetId, Name = table.TableName };
                        sheets.Append(sheet);
                        Row headerRow = new Row();
                        List<String> columns = new List<string>();
                        foreach (System.Data.DataColumn column in table.Columns)
                        {
                            columns.Add(column.ColumnName);
                            Cell cell = new Cell();
                            cell.DataType = CellValues.String;
                            cell.CellValue = new CellValue(column.ColumnName);
                            headerRow.AppendChild(cell);
                        }
                        sheetData.AppendChild(headerRow);
                        foreach (System.Data.DataRow dsrow in table.Rows)
                        {
                            Row newRow = new Row();
                            foreach (String col in columns)
                            {
                                Cell cell = new Cell();
                                cell.DataType = CellValues.String;
                                cell.CellValue = new CellValue(dsrow[col].ToString()); 
                                newRow.AppendChild(cell);
                            }
                            sheetData.AppendChild(newRow);
                        }
                    }

推荐答案

查看文档: _ Worksheet.Protect方法(Microsoft.Office.Interop.Excel) [ ^ ]。



[edit]

正如Richard Deeming所指出的那样,你的问题是针对OpenXML的,但建议是一样的,请查看文档。

[/ edit]
Check the documentation: _Worksheet.Protect method (Microsoft.Office.Interop.Excel)[^].

[edit]
As Richard Deeming points out, your question is for OpenXML, but the suggestion is the same, check the documentation.
[/edit]


这篇关于打开xlsx文件时如何保护密码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆