タグ

Excelに関するshozzyのブックマーク (26)

  • RubyXLを使ってExcelを編集してクライアントに返す - マイペースなRailsおじさん

    railsでエクセルを編集してクライアントに返そうとしたときのやり方を残しておきます。 作るもの クライアントがエクセルファイルをアップロードする サーバが受け取ったエクセルに何かしらの変更を加える クライアントが変更されたファイルをダウンロードする といった動きになる機能をRailsで作ります。 出来上がったソースコードはこちら。 GitHub - ytnk531/excel-example: rails excel example Excelの編集 RubyXLというgemを使います。 github.com 他にもエクセルを開けるgemはあるのですが、 Roo: 読み込みのみ AXSLX: 新規作成のみ という感じで用途が絞られています。 今回は、編集ができるRubyXLを使います。 単体だと、以下のような感じで使えます。 require 'rubyXL' # ファイルを読み込んでRu

    RubyXLを使ってExcelを編集してクライアントに返す - マイペースなRailsおじさん
  • 先頭の0が消えないCSVファイルの作り方 | ウェブインパクトエンジニア IT番長ブログ

    東京kです。こんにちは。 なんか、このBlogがべ物の話題だらけになっていると聞きつけて、久しぶりに投稿です。 とはいえ、すぐに出てくるネタが無いので、割と知っている人は知っている的な技術話題を。 業務でCSVファイルってよく使いますよね? でもよくある話しの一つとして『「0123」等の値がExcelで開いても「123」になってしまう。』問題があります。 今回はそれを解決するお話し。 この問題のアプローチは2つあります。 ファイルを開くときに対処するか ファイルを作るときに対処するか です。今回は後者で、普通に開いても0が消えないCSVの作り方です。 この話の前に、そもそもCSVファイルはなんぞや?という話はありますが、語り始めると長いので割愛します。 簡単に言うと「カンマで区切られたデータが入ったテキストファイルで、ソフト毎の方言が非常に多いファイル形式」ですね。 今回のミソは、この「

    先頭の0が消えないCSVファイルの作り方 | ウェブインパクトエンジニア IT番長ブログ
    shozzy
    shozzy 2019/06/06
    数値の先頭のゼロが消されないようにする方法。純粋なcsvという感じではなくなるが、Excelでは正しく解釈できるし、テキストとしての見た目もそれほどおかしくはない。(可読性を保っている)
  • Ruby で xlsx を編集する - Secret Garden(Instrumental)

    Ruby で既存のエクセルファイルを編集したかったので試してみた。 Ruby でエクセルファイルを扱う手段(gem)はいくつかあるが今回は、 .xlsx ファイルの読み込み .xlsx ファイルの書き込み セルの結合 を行いたかったので RubyXL を使うことにした。 余談 最初は spreadsheet を使おうと思って試してみたが、これは .xls (.xlsx ではない)しか読み書きが出来ないのでボツに。 次に .xlsx が読み込める roo を試してみたが、これも .xlsx の読み込みはできるけど、書き込みが出来ないのでやっぱりボツに。 また axlsx も使い勝手とかはよさそうだったが、これはファイルの読み込み自体が行えずに(ry。 このように Rubyge でエクセルを扱う gem はいくつか存在するが、全体的にかゆいところに手が届かない。 と、いうような問題を解決するた

    Ruby で xlsx を編集する - Secret Garden(Instrumental)
  • 自分で関数を作ってみる - エクセル術

    色々なユーザー定義関数 ワークシート関数 ワークシート関数とはその名のとおり、Excelのワークシート上で利用できる関数のことだ。いまさら特筆するまでもなく、Excelはデフォルトで実に多くのワークシート関数を提供しており、基的な数値演算から日付計算、文字列操作、財務計算、統計、果てはちょっとしたデータベース処理までを、簡単な記述で実現できる。恐らく一般的な表計算の処理を行う限りでは、標準的なワークシート関数で十分に用が足りるはずだ。 しかしExcelを駆使してさまざまな表計算を行っていく中では、当然のことながら、なかなか標準関数では十分に賄いきれない局面も出てくるだろう。そのような場合に、いままでならばどうしていただろうか。複数の関数を組み合わせて、複雑な関数式を毎回記述していたかもしれない。あるいは、一時的なワークシートやセルに計算過程を退避させた上で、あらためて目的の値を導出する、

    shozzy
    shozzy 2009/09/30
    関数定義できるのか!考えてみれば当たり前だがな。/これで正規表現つかった処理がゴリゴリ書ける。むふ。
  • VLOOKUP関数とINDIRECT関数 - Float on the flow

    ExcelのVLOOKUP関数とINDIRECT関数が超便利。 Excelでいろいろ集計するシートを作っていると、計算式の中にシート名や「○○名称」などの文字列リテラルが入り込んでくる。 最初はそれでもいいんだけど、件数*1が増えてくると、メンテナンスが大変になる。 せっかくコンピュータを使ってるんだから、なるべく人間の作業は減らしたい。 Excelならオートフィル(範囲選択してドラッグしたら値や式ががーっとコピーされる、あれ)を使うとか。 そこまでできなくても、せめて「計算式中の部分文字列を選択して手入力で修正×大量のセル」っていう作業は無くしたい。 そんなとき、便利なのがVLOOKUPとINDIRECT。 VLOOKUPがあれば、どこかにある一覧表からデータを拾って来て、マスタ変換みたいなことができる。 INDIRECTがあれば、シート名とかをどこかのセルに書いておいて、それを参照しな

    VLOOKUP関数とINDIRECT関数 - Float on the flow
    shozzy
    shozzy 2009/07/14
    計算式から文字列リテラルを追い出そう!
  • 指定フォルダ内にあるExcelファイルを一括でプリントアウトするRubyスクリプト - @katzchang.contexts

    複数シート含有の40ブックを10部印刷とか、手でやると死ねる割に代替え手段がないのはどうよ。 #! ruby -Ks require 'win32ole' def getAbsolutePath filename fso = WIN32OLE.new('Scripting.FileSystemObject') return fso.GetAbsolutePathName(filename) end xl = WIN32OLE.new('Excel.Application') xl.DisplayAlerts = false xl.Visible = true fso = WIN32OLE.new('Scripting.FileSystemObject') fso.GetFolder(getAbsolutePath("files")).Files.each do |file| book =

    指定フォルダ内にあるExcelファイルを一括でプリントアウトするRubyスクリプト - @katzchang.contexts
    shozzy
    shozzy 2009/05/25
    rubyでこんなことできるんだ。/人力で印刷してたに一票。というか、40ブックも印刷する羽目になったことはさすがになかったなぁ。
  • EXCEL VBAによるEXCELファイル作成時の高速化案がありますでしょうか。

    EXCEL VBAによるEXCELファイル作成時の高速化案がありますでしょうか。 行いたい内容は、以下の通りです。 1.CSVファイルの1行目をフィールド名としてシートの1行目に記述する。 ※フィールド数は、いつも同じとは限りません。 2.CSVファイルの内容の取得の際に、抽出条件の指定が発生する事がある。 ※データ量と抽出条件の兼ね合いで、SQLでデータを取得しています。 また、データ数は、サンプルでは5万行程度。 今後は、6万行を超えていく予定です。この際は一定の件数毎に書き出すEXCELファイルを増やしていく予定です。 このEXCELファイルへの書き出し方法の場合、私のPCでは5万行の場合、5分程かかります。 処理方法を変更する事によって、処理速度の改善は見込めるものでしょうか。 なお、あくまで5分と言う数字がダメなのではなく、よりスピードが上がれば、データ件数が増えた際にも、快適で

    EXCEL VBAによるEXCELファイル作成時の高速化案がありますでしょうか。
    shozzy
    shozzy 2009/05/04
    これは役に立った。一気に全体を読み込むので速い。
  • 気象情報の取得と記録――VBScriptでExcelを操作する

    今回の主役はVBScriptです。インターネット経由で空港の気象情報を取り込み,取り込んだデータの中から気温と気圧をExcelシートに書き出します。Excelの起動,セルへの書き出し,終了もVBScriptにやらせます。VBScriptの中に書かれたExcel/VBAのコードが実行されていく様をご覧ください。VBScript恐るべしです。 インターネットにありそうでないものとして気象関係のデータがあります。天気予報はあっても,現在の気温や気圧のデータだけを提供しているところは意外に見つかりません。今回は,米海洋大気局(NOAA:National Oceanic & Atmospheric Administration)が提供している気象情報を取り上げます。NOAAは世界中の空港の気象データを,「METAR」(Meteorological Aviaion Report,定時航空気象実況通報式

    気象情報の取得と記録――VBScriptでExcelを操作する
    shozzy
    shozzy 2009/04/23
    これは参考になる。/つーかVB系をこれまで軽視してたけど、世界せまかったんだなー。すごい便利やん。
  • いいなもっとBLOG: EXCEL2007 で マクロを使う

    マクロは敷居が高い? EXCEL には非常に高度なマクロ機能が備わっており、かなり格的なシステムも作り上げることができます。その代わりにプログラムの教育を受けていない一般のユーザには少々敷居が高いのも事実です。またEXCEL は標準で非常に高機能なため、そのままで相当の事ができますから、あまりマクロの出番も無いのかもしれません。 でも以前ご紹介した、『マクロの自動記録機能』や『マクロをツールバーに登録』くらいの事ならばそれほど難しくもありませんし、EXCEL の使い勝手が格段に良くなります。 しかしこれを EXCEL2007 でやろうと思ったら・・・ あれれ・・・メニューのどこにもマクロに関する項目がありませんよ。どうしちゃったんでしょうか?2007ではマクロは使えないのでしょうか?そんなはずは・・・ EXCEL2007 で マクロを使えるようにする さて、EXCELをカスタマイズします

    shozzy
    shozzy 2009/04/13
    2007でマクロを使えるようにする方法。デフォルトではメニューから隠されているらしい。
  • 数字の表示形式を数値にしてCSV形式で保存した場合空白が入ってしまうのは?

    shozzy
    shozzy 2009/01/07
    Excelでセルの書式が数値になっていると、CSVやタブ区切りで保存したときに数値の後ろに余分なスペースが入ってしまう件。書式を標準にすれば解決。
  • ASCII.jp:驚きのExcel 超早技ベスト15 これは便利!|Excel達人の新定番テク60 知らないあなたは損してる!

    マンネリ化した方法でExcelを使っていないでしょうか。実はもっと簡単で手早くできる技があるのです。使わないなんてもったいない。アナタの知らない「新」Excel技大特集! 第1回は、手間を省いて操作をすばやく! 今すぐ役立つ厳選早技15を紹介します。面倒な入力や編集作業をどんどん片づく! 驚きのExcel 超早業ベスト15――インデックス 技1――表の早技 表の見出しを除いて列幅を自動調整 技2――入力の早技 支店名をいつも決まった順番でオートフィル入力 技3――入力の早技 「=」の代わりに「+」キーで式を入力 技4――入力の早技 セルを組み合わせて思いどおりに連続データを入力 技5――入力の早技 ながーい連番を一発入力 技6――編集の早技 ツールバーの[下線]ボタンで二重下線を引く 技7――表の早技 基の行列入れ替えはボタンで 技8――表の早技 多様な罫線を使った複雑な表は「罫線なし」

    ASCII.jp:驚きのExcel 超早技ベスト15 これは便利!|Excel達人の新定番テク60 知らないあなたは損してる!
  • 65,535の謎!? 「Excel 2007」に掛け算ミスのバグ発見 | パソコン | マイコミジャーナル

    米マイクロソフトのExcel/Excel Services開発チームは、「Microsoft Excel 2007」および「Microsoft Excel Services 2007」で掛け算の結果にミスが出るというバグが発見されたことを明らかにした。すでに修正パッチの準備が最終段階にあり、間もなくダウンロード提供が開始される。 同開発チームによると、Excel 2007/Excel Services 2007で、一部の掛け算の計算結果が、65534.99999999995〜65535か、65535.99999999995〜65536になると、セル上には100,000と表示されてしまうバグが見つかった。77.1×850や5.1×12850などの計算式が、このバグの影響を受けるとされているが、16383.75×4などの計算式では正しい計算結果が表示されるようだ。 今回のバグは、Excelの計

    shozzy
    shozzy 2008/03/18
    ナンダッテー
  • 空騒ぎしているような - ものがたり(旧)

    http://www.microsoft.com/interop/principles/default.mspx 巷ではWindowsがオープンソース化されたとか何とかいう誤報が共同通信を中心に出回っていたみたいだけど、それはどうでもいい。問題は多分あまり注目されていないこちら。 5. Open Source Compatibility. Microsoft will covenant not to sue open source developers for development and non-commercial distribution of implementations of these Open Protocols.(強調はワタシ) だから公開されたプロトコルを実装したオープンソースソフトウェアの開発者を訴えるようなこともしないってのは必ずしも正しくないよ。 てか、昨今のM

    空騒ぎしているような - ものがたり(旧)
    shozzy
    shozzy 2008/02/22
    non-commercial distribution of implementations of/たとえば、POIがこのドキュメントに従ってバージョンアップして、そのPOIを商用利用したらどうなるんだろう。。。(POIはApacheライセンスなので、商用利用できる)
  • 米Microsoftがついに,バイナリ形式のOffice文書仕様を公開

    Microsoftは2008年2月16日(米国時間),Office 97以降で採用するバイナリ形式のOffice文書仕様を公開した。拡張子が「.doc」「.xls」「.ppt」であるOffice文書を,同社の新フォーマット「Open XML」に変換することを目的とした技術情報公開である。同社で相互運用性を担当するBrian Jones氏によれば,Open XMLをISO(国際標準化機構)標準にするうえで,複数の国の標準化団体から既存のバイナリ形式についても開示するよう求められたことが,公開の理由であるとしている。 Open XMLのISO標準化に関しては,今月下旬からスイス・ジュネーブで開催されるISOの会合で,最終的な結論が出る見込み(関連記事:顧客が支持しているのは「Open XML」,ISO標準化にも自信--MSの標準化担当幹部)。Microsoftとしては,会合に先立ってバイナリ

    米Microsoftがついに,バイナリ形式のOffice文書仕様を公開
    shozzy
    shozzy 2008/02/19
    POIとかJExcelAPIも一気に進化するかな?
  • オンライン表計算 OnSheet

    shozzy
    shozzy 2007/08/01
    まだβだけど、これは化けると思う。インフォテリアの総力結集といった感じ。
  • Excel FAUQ (Frequently Asked Unsolvable Questions)

    よくあるけどできないエクセルの質問集 印刷時の行/列タイトルをページ下/右/上下/左右に設定したい  列タイトルを右に設定することはインターナショナルの設定で対応できるかもしれません。 行タイトルや左右の列タイトルを設定したいのなら、一般機能ではできません。 VBAを使うか、別の方法を考えましょう。 可視セル範囲に貼り付けたい  オートフィルタを使っているのなら、同一の値を入れることはできます。 非表示にしていたり、異なる値を入れたいのなら、一般機能ではできません。 VBAを使うか、別の方法を考えましょう。 セル/フォントの書式で集計したい ex.赤く塗りつぶされたセルの数値だけ合計 一般機能ではできません。Excel 2007ではできるようです。 VBAを使う場合、条件付き書式で設定された色などはセルのFontやInteriorプロパティの値を変えません。 そのセル/フォントの書式を設定

    Excel FAUQ (Frequently Asked Unsolvable Questions)
  • JExcelApiの使い方

    Excelファイル生成ライブラリ調査!」で取り上げたJExcelApi,さっそく実際に使ってみた。なかなかいい感じなので,基的な使い方をここに残しておこう。 まずは, JExcelApiプロジェクトページから, jexcelapi_2_5_3.zipファイルを入手し,適当な場所に展開する。その中のjxl.jarファイルがJExcelApi体である。これをクラスパスに通せば,使用準備は完了だ。 さて,さっそくコーディングの方法に入ろう。トピックごとにコードを紹介する。 【ワークブックの新規作成】 WorkbookSettings ws = new WorkbookSettings(); ws.setLocale(new Locale(“ja”, “JP”); ws.setEncoding(“Windows-31J”); OutputStream os = …; WritableWo

  • 3分LifeHacking:入力の手間を省く、10のExcelショートカット - ITmedia Biz.ID:

    Excelに、毎日文字や数字を入力している──そんなビジネスパーソンも多いことだろう。少しでも入力を早く、簡単にしたい。そんなときは、Excelに備わっているショートカットをうまく活用したい。 1──日付と時刻 [Crtl]+[;]を押すと、今日の日付が。[Crtl]+[:]を押すと、現在の時刻が入力される。 業務記録などを付けていく際には、これを使えば簡単に日付や時刻を入力できる。「now」関数と違うのは、入力した時点の日付・時刻が固定されることだ。 2──繰り返し作業 せっかくコンピュータを使っているのだから、同じような作業は自動的にやってほしい。複雑な作業で、今後も繰り返し使うなら、マクロを書くというような選択もあるだろうが、ちょっとした変更──例えば、セルを1行おきに色を付けたい──なんてときは、[F4]キーを使う。 最初のセルに対して操作を行い、同じ操作をしたいセルを選んで[F4

  • ちょっと覚えておくと便利なExcelのショートカット5つ | P O P * P O P

    Excelをよく利用する方は覚えておくと便利なショートカットのご紹介。ちょっと知っているだけで格段に作業スピードが速くなることも。TechJiveからの情報です。 » Excel Keystrokes (via TechJive) 「Ctrl+Space」 :その列全体を選択。 「Shift+Space」 :その行全体を選択。 「Ctrl+矢印キー」 :データが入力されている範囲の先頭行(↑ )、末尾行(↓)、右端列(→)、左端列(←)に移動。 「Ctrl+Page Up/Page Down」 :ワークシート間の移動。 「Ctrl+Home」 :そのシートのA1のセルへ移動(ウィンドウ枠を固定している場合は、その下のセル)。 ちなみに個人的によく使うショートカットは以下のようなものでしょうか。 「Ctrl+1」 :セルの書式設定を選択。 「Shift+Enter」 :上の行/左の列に移動(

    ちょっと覚えておくと便利なExcelのショートカット5つ | P O P * P O P
    shozzy
    shozzy 2007/02/22
    Ctrl+Shift+矢印でデータが入ってるセルをまとめて選択とか
  • 試験管のなかのコード :: 2006/04

    [AS] JBoss AS のコードを読む (2) Server 初期化編 今回は Server の初期化処理周り。 org.jboss.Main 起動用クラス。main メソッドを持つ。起動時引数の解析はここで行われている。 org.jboss.system.server.Server Server 機能を表すインタフェース。主に Server のライフサイクルを制御するメソッドが定義されている。 org.jboss.system.server.ServerImpl Server インタフェースのデフォルト実装。 org.jboss.system.server.ServerConfig Server の設定項目を表すインタフェース。 org.jboss.system.server.ServerConfigImpl ServerConfig インタフェースのデフォルト実装。 Server

    shozzy
    shozzy 2007/02/09
    JExcelAPI