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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1773閲覧

Excelファイルデータからプレビュー機能を作る方法

naonao11

総合スコア97

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/08/25 11:00

編集2017/08/25 11:57

Excelのデータをhtmlに変換などしてプレビュー出来るような機能を作りたいのですが、まずどのように手を付けていいのかが分かりません…
なにか方法なのがありませんでしょうか?
pythonでコードをかけたら幸いなのですが…
宜しくお願いします!

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/08/25 22:06

pythonからエクセルを制御してhtmlで出力、ではだめなんですよね?
naonao11

2017/08/26 13:51

いえ、そちらでもぜんぜんありがたいです!今回ですと、Excelのタグ反映させたものをhtmlデザインにさせたいので、その方法が何であれっても教えて頂けば、と思います。
guest

回答2

0

ベストアンサー

既存のやり方「表をHTMLに」程度であればまだ楽にできると思います。


Python

1import pandas as pd 2 3df_excel = pd.ExcelFile("filename.xlsx") 4df = df_excel.parse(sheet_name) # give summary sheet name 5df.to_html('filename.html') 6

VBA

1Sub SaveHTML() 2 ThisWorkbook.SaveAs Filename:="C:\Foo\Bar.htm", FileFormat:=xlHtml 3End Sub

Python

1from win32com.client import Dispatch 2xl = Dispatch('Excel.Application') 3xl.Workbooks.Open('C:\Foo\Bar.xlsx') 4#xl.Visible = True -- optional 5xl.Application.Run("SaveHTML") 6xl.Workbooks.Close

一方、「画像や線やレイアウトもすべて綺麗に」となると相当苦労すると思います。
A)Excel標準のHTMLで出力ですらちょっと残念な感じ(上記やり方の2番目のやり方ですね)
B)第三者機関のOpenOfficeで(HTML抜きにエクセルのファイルが既に)崩れぎみ
C)それをPythonで
となるとそれだけでソフトを販売できるくらいの内容になってきそうです。

投稿2017/08/25 22:26

編集2017/08/25 22:29
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

naonao11

2017/08/26 16:00

ありがとうございます! また Sub のところですが、これはどこに記入すればよろしいのでしょうか?
退会済みユーザー

退会済みユーザー

2017/08/27 00:36

https://analysistabs.com/vba-code/application/m/run/によれば、 Please follow the below steps to execute the VBA code to save the excel file. Step 1: Open any existing Excel Application. Step 2: Press Alt+F11 – This will open the VBA Editor. Step 3: Insert a code module from then insert menu. Step 4: Copy the above code and paste in the code module which have inserted in the above step. Step 5: Now press F5 to execute the code. Step 3でコードモジュールを追加するとありますので、module1などで良いと思います。 私のモジュールの使い方はこういう認識です。 Thisworkbook:ブックを開く、閉じる、保存する等の「ブック関連のイベント」を使うとき(もちろんイベントなしでもただのプロシージャを突っ込むこともできます) Module:「ブック関連のイベント」を使わないとき(というよりむしろ、Moduleではブック関係のイベントハンドラが使えません)
naonao11

2017/08/27 03:53

ありがとうございます! 今回のモジュールについては標準モジュールとクラスモジュールどちらを用いればいいのでしょうか... 何度も質問をしてしまい申し訳ございません!
退会済みユーザー

退会済みユーザー

2017/08/27 05:18

普通は標準モジュールでOKですので、今回も標準モジュールでよいと思います。 クラスを使わなければ標準モジュールですね。 (ちなみに私はクラスモジュールを使たことすらありません、それくらい「クラスモジュール」はなくても何とかなります)
naonao11

2017/08/27 05:36

本当に色々とありがとうございます! 励んでみますので、また何かありましたらよろしくお願いします...!
guest

0

原理としては、
エクセルファイルの仕様を把握して解析してデータとして取得後、必要な形に書き出す
という流れになります。
こんな感じで、仕様が存在します
が、これはなかなかに大変です。

メジャーな言語ではMS-Officeの読み書きをするライブラリが存在することが多いので、ライブラリを利用するのが効率的です。

エクセル pythonで検索
あたりで検索してみて(pythonやExcelのバージョンを指定してもいいですね)、
使えそうなライブラリを試してみるところから手を付けてみては如何でしょうか。

投稿2017/08/25 12:06

編集2017/08/25 12:07
tanat

総合スコア18713

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問