質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

0回答

975閲覧

デジタル署名のつけ方

omiongi30

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2021/12/27 07:48

編集2021/12/27 09:21

前提・実現したいこと

Excelファイルにデジタル署名を行うプログラムを作成しています。
今は、C#のopenxmlにおけるDigitalSignatureを使用し実現を試みていますが、プログラミング初心者であるためやり方がわかりません。
どなたか、openxmlを使用したデジタル署名を行う方法をご存じでしたら教えてください。
C#初心者で、ほぼ何もわからないです。

<参考にしたサイト>
Microsoft APIリファレンス
少し読んでみましたが、何が何だか全くわかりませんでした。

該当のソースコード

C#

1using System; 2using System.IO; 3using DocumentFormat.OpenXml; 4using DocumentFormat.OpenXml.Packaging; 5using DocumentFormat.OpenXml.Spreadsheet; 6using DocumentFormat.OpenXml.ExtendedProperties; 7 8 9namespace Excel_Export 10{ 11 class Program 12 { 13 static void Main(String[] args) 14 { 15 // 出力先はデスクトップ 16 var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "sample.xlsx"); 17 18 // スプレッドシート ドキュメントを作成 19 var document = SpreadsheetDocument.Create(path, SpreadsheetDocumentType.Workbook); 20 21 // WorkbookPart をドキュメントに追加 22 var workbookPart = document.AddWorkbookPart(); 23 workbookPart.Workbook = new Workbook(); 24 25 // WorksheetPart を workbookpart に追加 26 var worksheetPart = workbookPart.AddNewPart<WorksheetPart>(); 27 var sheetData = new SheetData(); 28 worksheetPart.Worksheet = new Worksheet(sheetData); 29 30 // sheets をワークブックに追加 31 var sheets = workbookPart.Workbook.AppendChild(new Sheets()); 32 33 // ワークシート をワークブックに追加 34 var sheet = new Sheet() 35 { 36 Id = workbookPart.GetIdOfPart(worksheetPart), 37 SheetId = 1, 38 Name = "Sample" 39 }; 40 sheets.Append(sheet); 41 42 // sheetData に行を追加 43 var row1 = new Row(); 44 row1.Append(new Cell() 45 { 46 DataType = CellValues.String, 47 CellValue = new CellValue("A1のセル") 48 }); 49 sheetData.Append(row1); 50 51 var row2 = new Row(); 52 row1.Append(new Cell() 53 { 54 DataType = CellValues.String, 55 CellValue = new CellValue("A2のセル") 56 }); 57 sheetData.Append(row2); 58 59 // ワークブックを保存 60 worksheetPart.Worksheet.Save(); 61 62 // ドキュメントを閉じる 63 document.Close(); 64 65 Console.WriteLine("Excel ファイルの出力に成功しました。"); 66 } 67 } 68} 69

試したこと

他のサイトを参考にしデスクトップにExcelファイルを出力するコードを作りました(丸写し)。

補足情報(FW/ツールのバージョンなど)

Open-XML-SDK 2.9.1 を使用しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2021/12/27 08:37

しつもんはなんでしょうか
omiongi30

2021/12/27 08:41

openxmlを使用してExcelファイルにデジタル署名を付加する方法を教えていただきたいということです。
y_waiwai

2021/12/27 08:46

Excelファイルにデジタル署名を付加する、ってのが意味不明ですが、なにをするためにそれをやりたいんでしょうか
Zuishin

2021/12/27 08:46

Microsoft の公式ドキュメントのどこを見たんですか? どのレベルのことがわからないのか、どこまでわかるのかを明示してください。
omiongi30

2021/12/27 09:28

稚拙な質問で申し訳ありません... Zuishinさん 本当に申し訳ないのですが、C#は初学で何もわかりません。 なので、ほぼC#に関する知識が0です。 y_waiwaiさん デジタル署名を行うことでExcelの改ざんを防止したいと考えています。
退会済みユーザー

退会済みユーザー

2021/12/27 09:49 編集

何が分からないのか自分でも分かってないでしょ? もしくは文書化できるスキルが無い? これを読んでください⇒ https://teratail.com/help/question-tips 特に以下のところ: "人に質問をするには、自分が何を尋ねたいかを知っている必要があります。これは、「自分が今『何がわからないのか』がわかっていて、言語化できている」ということです。一見簡単なようですが、実はとても難しいことです。何がわからないかわからない人から質問を受けても、答える側も困ってしまいます。"
Zuishin

2021/12/27 09:53

> なので、ほぼC#に関する知識が0です。 じゃあそこからじゃないですかね。 プログラミングできなくていいならツールを探せばいいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問