chawatoyo さん プロフィール

  •  
chawatoyoさん: 静かに暮らしたい
ハンドル名chawatoyo さん
ブログタイトル静かに暮らしたい
ブログURLhttp://chawatoyo.blog.fc2.com/
サイト紹介文アーリーリタイヤを目指すおっさんの個人的なメモです。
参加カテゴリー
更新頻度(1年)情報提供16回 / 365日(平均0.3回/週) - 参加 2016/07/30 20:55

chawatoyo さんのブログ記事

  • EPPlusの使い方(45)
  • xls → xlsx 変換今回も EPPlus の使い方ではありません(タイトルに偽りあり)。EPPlus は、 Office 2003 までの binary 形式のファイルが開けません。しかし、未だに xls 形式のファイルは届きますし、xsl 形式のファイルを配布する自治体もあります。一つや二つなら Excel で開いて変換すれば良いのですが、今回大量の xls ファイルを処理する事になり対策を考えました。ExcelDataReaderExcelDataReader は軽量で高 [続きを読む]
  • EPPlusの使い方(44)
  • EPPlus 4.5.1EPPlus Ver.4.5.1 がリリースされましたね。前回ベータ版のことを書きましたが、あれは実
    は1ヶ月前の記事で、仕事忙しすぎで放置していたのであのタイミングでした。.NET Core supportSparkl
    inesSort method added to ExcelRangeBug fixes and minor changes, see below and visit https://github.com/JanKallman/EPPlus for tutor
    ials, samples and the latest information.NET Core をサポート [続きを読む]
  • EPPlusの使い方(43)
  • 年度末と言うことで忙殺されてました。未だ業界的には3月ですけどね。「仮納品」という謎ワードがありましてね・・・。またしても小ネタ。EPPlus 4.5 Beta 1現行バージョンは EPPlus 4.1.1 ですが、次期バージョンは Ver.4.5 Beta 1 らしいです。NuGet GalleryEPPlus 4.5 Beta 1 では、ExcelRange に「Sort」 method が追加されるようです。.NET Core をサポートしているのもクロスプラットホームを目指す方に [続きを読む]
  • EPPlusの使い方(42)
  • 検索小ネタ。厳密には、EPPlus の使い方じゃないけど、.NET のメソッドが使えるのも EPPlus のメリットとも言えますね。Cell の内容を検索したいと思いました。Microsoft.Office.Interop.Excel.Range オブジェクトには Find メソッドがありますが、EPPlus の ExcelRange にはなさそうですね。EXCEL の FIND や SEARCH 関数を使う手もありますが、Linq を使うと簡単に検索できました。文字列の検索FileInfo file [続きを読む]
  • EPPlusの使い方(41)
  • 入力規則(2)入力規則の続きです。分けるほどの分量にはならなかった。規則(2)ユーザ設定複雑な入力規則を設定したい場合に使用します。Excel力(?)が高い方なら工夫次第で色々活用できます。私は Excel力 が高くないので簡単な例を紹介します。メールアドレスメールアドレスの検証は難しいですが、「@記号を含む文字列」程度でよければ入力規則で検証できます。var dv = sheet.Dat [続きを読む]
  • EPPlusの使い方(40)
  • 入力規則(1)長いので2つに分けました。データの種類データの種類によって設定できる規則が変わります。EPPlus では、ExcelDataValidationCollection クラスにデータ種類別のメソッドが用意されています。例えば、整数値のみを許容する入力規則を追加する場合は、ExcelWorksheet のインスタンスが sheet だとすると、以下のように記述します。var dv = sheet.DataValidations.AddIntegerValidation(string [続きを読む]
  • EPPlusの使い方(39)
  • 小ネタ。しかも未解決。Copyの不具合セルのコピーに関しては第8回で取り上げましたが、少し困ったことがあったのでメモ。例えばA1セルの内容をA2セルにコピーしたい場合は、以下のように書きます。using OfficeOpenXml;using (ExcelPackage package = new ExcelPackage(filePath)){ ExcelWorksheet sheet = package.Workbook.Worksheets.Add("Sheet1"); sheet.Cells["A1"].Value = 100; [続きを読む]
  • Accessで複数のSQLを一括実行する
  • 仕事でデータベースをよく利用します。お客様には普段は集計結果を見てもらいますが、たまに生データを見せてくれと言われる場合があります。データ量が少なければExcelに、多い場合はAccessに出力します。基本的に更新作業はサーバ上で行ってAccessファイルは出力先、Access上でデータを更新することはありません。しかし先日、Accessに出力した後で4万件ほどUpdate文を実行する必要がありました。出先だったのでサー [続きを読む]
  • ExcelでAccess mdbを更新する(2)
  • 以前、EXCEL VBAでACCESSを操作する記事を書きましたが、やらかしました。お客様のデータを更新しようとしてVBAマクロ入りのEXCELファイルを作成して実行してもらいましたが、途中でオートメーションエラーで止まったそうです。何回もテスト済みの実績のあるマクロでしたので原因がわかりませんし、最初にテーブルをコピーする1文を加えていたので、データの消失は無いと思いましたが肝を冷やしました。原因は、マク [続きを読む]
  • EPPlus 4.1.1
  • EPPlus 4.1.1が2017年10月9日にリリースされていますね。Release noteというかChangelog的なものが見当たらないので、何が更新されたのかよくわかりませんが。続報を待ちましょう。 [続きを読む]
  • ExcelでAccess mdbを更新する
  • 仕事でとあるアプリの開発とユーザサポートを担当しています。そのアプリではデータベースとしてAccessを使用しています。きちんと設計・実装・テストしてバグのないアプリを作成できれば良いのですが、なかなか難しいです。最近軽微なバグを仕込んでいたことが発覚し、Excelでmdbファイルを修正する機会があったのでメモしときます。バグの対応方法としてはアプリを修正する方法のほかに、データ構造を修正してエラーを回避す [続きを読む]
  • エクスペリエンスインデックス
  • Windows 7のコントロールパネルのシステムには、ハードウェアの性能を評価して指標であらわすエクスペリエンスインデックスというツールがありました。Windows 8で廃止されたようですが、Microsoftの良くあるやり方で廃止されたのではなく簡単にアクセスできなくなっただけのようです。今回デスクトップPCを新調しましたのでWindows 10環境で計測してみたいと思います。Windows10でパフォーマンス性能を測定するツールは、 [続きを読む]
  • デスクトップPCの更新
  • 自宅のデスクトップPCを更新しました。これまでは、2010年8月に購入した NEC の激安サーバの EXPRESS 5800/110Ge にメモリを増設し(4.5GB)、CPU をCore2 Quad Q9550(2.83GHz)にスワップして使用してきましたが、2016年4月に SSD 毎お亡くなりになりました。それからは、モバイル兼サブ機の Surface pro 3にドッキングステーションを付けて、ディスプレイ2枚追加してメイン機として使ってきましたが、AMD の Ry [続きを読む]
  • 近況(3)
  • ありえない短納期の業務(作成するシステムを使用するユーザさんに事情を説明すると同情されるレベル)で忙殺されていました。何とか納品できてほっとしているところです。無茶な要求に対し、努力で何とかするという姿勢はそろそろ改めないといけませんね。達成したところで発注者の手柄になっても、受託側には恩恵は無いわけですし(発注者の信頼を得ても発注者が公共機関の場合は入札の洗礼を受けることになるので)。ま、言って [続きを読む]
  • EPPlusの使い方(38)
  • ExcelChart(5)グラフタイトル(ExcelChartTitle)Text(string)グラフタイトルのテキストを取得・設定します。chart.Title.Text = "グラフタイトル";Font(ExcelTextFont)グラフタイトルのフォントを取得・設定します。プロパティ型意味BoldboolBold 体を使用する場合は、true をセットするItalicboolItalic 体を使用する場合は、true をセット [続きを読む]
  • EPPlusの使い方(37)
  • ExcelChart(4)引き続きデータ系列の設定を見ていきます。元になるグラフはこれです。影、光彩、ぼかしの設定を調べます。ちなみに個人的には一度も使ったことがない機能です。影設定できるプロパティが見つかりません。 これもまだ実装されていないのかもしれません。手動で影を追加したときの XML は以下の通り。系列の色と同様にメソッドを作ることはできますが、正直、折れ線グラフに影をつけた [続きを読む]
  • EPPlusの使い方(36)
  • ExcelChart(3)ExcelChart(2)の続きです。長いので分けました。折れ線(図形の枠線)の色折れ線グラフの系列の色を設定する方法を探ります。Google で検索すると XML に直接手を入れるみたいです。それは EPPlus でやることでは無いと 思う反面、ラインカラーを変更できないのも困るので調べていきます。※ここに書いていることは、将来のバージョンでは解決していると思いますので、暫定案として見てください。 [続きを読む]
  • EPPlusの使い方(35)
  • ExcelChart(2)グラフに手を入れていきます。まずはデータ系列の書式を設定します。前回作成したグラフの書式を確認します。マーカは無しの折れ線グラフですから、マーカに関する設定はできません。線いきなり躓きます。線なし線(単色)線(グラデーション)自動を切り替えるプロパティが見当たりません(見つけられません)。 色や透明度を指定するところもです。色が変更 [続きを読む]
  • EPPlusの使い方(34)
  • ExcelChart(1)第9回〜第12回で中途半端なところで終わってしまった ExcelChart に再挑戦します。基
    本先頭に以下の namespace を追加してください。using System.Drawing;using OfficeOpenXml;using OfficeOpenXml.Style;us
    ing OfficeOpenXml.Drawing;using OfficeOpenXml.Drawing.Chart;using OfficeOpenXml.Table;ExcelChart は、ExcelDrawingを継承して
    います。 ExcelDrawing や ExcelDrawi [続きを読む]
  • EPPlusの使い方(33)
  • ExcelWorksheet(4)PrinterSettings (ExcelPrinterSettings)印刷に関する設定です。Excel上で「Ctrl+P」で開く「印刷」画面で、 「ページ設定」を したときに表示される「印刷設定」ダイアログの値を設定できます。「ページ」タグ印刷の向きOrientation(eOrientation)で設定します。列挙子実際の値意味Portrate0縦方向Landscape1横方向こんな感 [続きを読む]
  • EPPlusの使い方(32)
  • ExcelWorksheet(3)Dimension(ExcelAddressBase)散々既出ですが、セルが入力されている範囲のアドレスを返します。セルが入力されている範囲とは、下の図の赤線の枠の範囲です。 Dimension プロパティはピンクのセルの情報を返します。 もし、ワークシートに何もデータが記入されていない場合は、null が返ってきます。Dimension(ExcelAddressBase)には、以下のプロティが用意されています。プロ [続きを読む]
  • EPPlusの使い方(31)
  • ExcelWorksheet(2)Drawings プロパティ(ExcelDrawings)Count は、Worksheet 内の Shape + Image + Chart の数を返します。Shape や Chart に関するメソッドも用意されています。Clear() すると、Worksheet 内のすべての shape、image、chart を削除します。Drawing オブジェクトを追加する時は、専用の命令を用います。AddShape(string Name, eShapeStyle Style)AddShape(string Name, ExcelS [続きを読む]
  • EPPlusの使い方(30)
  • ExcelWorksheet(1)ExcelWorksheet について見ていきます。ExcelWorksheet は項目が多いので何回かに分割します。CostomHeight プロパティ(bool)defaultRowHeight 値が手動で設定されている、又は、デフォルト値と異なる場合は True が 返ってきます。Set も出来ますが、特に意味は無いと思います。DefaultColWidth プロパティ(double)Worksheet の全ての Column の幅のデフォルト値を Get/Set 出来ます [続きを読む]
  • 近況(2)
  • 私は4月起算な業界に身を置いているため、3月末の締め切りに向け忙しい日々を送っています。EPPlusの記事も3件ほどストックしているのですが、土日も自宅で仕事しているためアップロードできていません。近いうちに公開したいと思います(どれくらい需要があるか分かりませんが)。作業環境と言えば、自宅ではスタンディングデスクを採用しています。立って仕事をしていて疲れたら、「座る」のでは無く「横に」なりたいです。とい [続きを読む]
  • EPPlusの使い方(29)
  • ExcelWorksheetsExcelWorksheet を束ねる ExcelWorksheets を見ていきます。Name(string)と PositionID(int)、Count(int)プロパティGet のみのプロパティです。Name は、Worksheet を Add するときに指定した名称です。PositionID も 追加された順番に割り当てられますが固定ではありません。一番左の Worksheet を基準にして割り振られます。Count は、Workbook 内に追加された Worksheet の枚数を返します [続きを読む]