ジメジメする梅雨のお悩み、一挙解決! >>

お世話になります。
PHPでcsvファイルを扱うプログラムを作成しているのですが、
クライアントで.xlsのファイルをインポートして、
サーバ側で指定したシートを".csv"への変換を行って、保存するということをやっています。

聞きたいのは:
PHPで.xlsファイルを.csvへの変換はいい方法ありますか?
PHP自体のExcelのライブラリ(phpExcelとか)を使いたくないので、
どなたが他の方法を教えていただければ嬉しいです。

.csv新規作成ではなく、ただの変換なので、とりあえず変換できればいいです。
よろしくお願いします。

A 回答 (2件)

どういうデータの形式か知りませんが


csvって要するにカンマ区切りのデータですから
カンマを挿入すればいいんじゃないですかね
    • good
    • 0

> PHP自体のExcelのライブラリ(phpExcelとか)を使いたくない



のであれば、自力でなんとかするしかないでしょう
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qhtmlでjpg画像をアップロードして、相手のパソコンかスマホにダウンロードさせたい。

お疲れ様です。
写真(同窓会)を郵送するには費用がかかります。
そこで、ホームページをから、相手がダウンロードできるようなに
プログラムを組みたいのですが!忘れてしまいました。
 現在作成中のホームページは、写真の閲覧のみです。
どんなプログラムを組めば相手のパソコン、スマホへダウンロード
できようになりますか?

Aベストアンサー

ダウンロードさせる?

無理ですよ、相手の人にダウンロードしてもらうようにしましょう

https://30d.jp/
写真共有サービスを利用して、画像をアップロード
参加した人にしか見えないようにパスワードを設定して、URLとパスワードをメールで送ってダウンロードしてもらいましょう


既にHPを持ってるのなら、そこにアップロードして、その画像のURLを教えて右クリックで保存してもらえばいいですよ

Q下記プログラムのフローチャート作りたいのですが、全く分からず教えてください。

const int BUTTON=13;
int val=0;
int old_val=0;
int state=0;

void setup(){
 for(int i=1;i<8i++){
pinMode(i,OUTPUT);
}
pinMode(BUTTON,INPUT);
}
boolean Num_Arrayt[10][7]={
0{1,1,1,1,1,1,0}
1{0,1,1,0,0,0,0}
2{1,1,0,1,1,0,1}
3{1,1,1,1,0,0,1}
4{0,1,1,0,0,1,1}
5{1,0,1,1,0,1,1}
6{1,0,1,1,1,1,1}
7{1,1,1,0,0,1,0}
8{1,1,1,1,1,1,1}
9{1,1,1,1,0,1,1}
}

void NumPrint(int Number){
for(int W=0;W <7;W++){
digitalWrite(W+1,Num_Array[Number][W]);
}
}
void loop(){
 val=digitalRead(BUTTON);
NumPrint(state);

if((val==HIGH)&&(old_val==LOW)) {

state=(state+1)%10;
NumPrint(state);
delay(300);
}
delay(100);
old_val=val;
}

const int BUTTON=13;
int val=0;
int old_val=0;
int state=0;

void setup(){
 for(int i=1;i<8i++){
pinMode(i,OUTPUT);
}
pinMode(BUTTON,INPUT);
}
boolean Num_Arrayt[10][7]={
0{1,1,1,1,1,1,0}
1{0,1,1,0,0,0,0}
2{1,1,0,1,1,0,1}
3{1,1,1,1,0,0,1}
4{0,1,1,0,0,1,1}
5{1,0,1,1,0,1,1}
6{1,0,1,1,1,1,1}
7{1,1,1,0,0,1,0}
8{1,1,1,1,1,1,1}
9{1,1,1,1,0,1,1}
}

void NumPrint(int Number){
for(int W=0;W <7;W++){
digitalWrite(W+1,Num_Array[Number][W]);
}
}
void loo...続きを読む

Aベストアンサー

ボタンがLOWからHIGHに変化した時点で7セグメントカウンタ表示の数字をカウントアップするというプログラムのつもりですね。

何がやりたいのかは薄々わかりますが、
 ちゃんと動く、エラーの出ないソースリスト
を書いてから質問してください。

Qエディタ って?

テキストエディタ という言葉が使われましたが、何を表しているのでしょうか?

Aベストアンサー

ワープロの簡易版みたいな感じで、ほぼWindows のメモ帳のようなものです。文字サイズ、罫線とか図名を操作するような機能はありません。テキストのみを編集(エデット)するソフトです。

QC言語 昇順・降順 ソート

C言語の勉強をしている者です。
課題を解くのに行き詰っているのですが、
どのように解くことが好ましいでしょうか。

よろしくお願いします。
___________________________

・パラメータ1に降順か昇順か数字を入力させる。
 例)降順0昇順1
 0か1以外の入力はエラー表示。

・パラメータ2~10の数字チェック、数字以外はエラー表示し終了。

・動的メモリを取得しパラメータ2~10の数字を動的メモリに格納する
 取得できない場合はエラー表示し終了。

・動的メモリ上のパラメータ2~10の数字を
パラメータ1(降順・昇順)に従いソートし表示する。

・動的メモリを開放し終了。
___________________________

[注1]パラメータ2~10の数字は1~999までとする。

Aベストアンサー

main関数の引数*argc, *argvがポインタになっている意味を考えるか、引数の個数を何度か変えてはデバッガを使ってポインタの中身をチェックすれば、引数の数を可変にしているやり方が見えてくる。
引数の個数に合わせて、データ型に応じた適切なサイズのメモリをアロケートし、配列なり、リストなりを使ってデータを格納し、処理終了時にメモリを忘れずに解放。
ソートの仕方に関しては、たいていのアルゴリズム解説本にプログラミング言語が違っていても記してあるから、読んで参考にするだけ。

QC++を学ぶためにCの知識は必須ですか?

将来の就職と個人的興味のため、C++を勉強しようと思ったんですが(C++にはオブヘクト志向があるため)ネットでいろいろ調べていると「Cが基盤になっているためCから勉強を始めたほうがいい」とありました。
正確にはどこまでの知識と経験が必要ですか?
そもそもC++を学ぶためにCの知識は必須ですか?

Aベストアンサー

まあ、Cの言語仕様を一通り軽くやっといた方が良いかも。
ポインター、配列、構造体、整数演算、型の表記の仕方とかは
結構癖があるから、事前に知っといた方が良いでしょう。

Cの言語仕様ってC++に比べて驚くほど小さいので
そんなに時間はかからないと思う。
最初からクラスも大変だし、最初はベターCから
始めるのも良いのでは。

しかし就職にC++が役立つかというと、確かに
c++使いまくりのシステムもあるが
Javaの方が圧倒的に有利というのは
覚えておいた方が良いでしょう。

QC#で動的配列Listの中身をListBoxに表示するには

C#(Visual Studio 2015)を使っています。
動的配列List(文字列)の中身をListBoxに表示する簡単な方法はありませんか?
foreachでまわしてAddするしかないのでしょうか?

Aベストアンサー

LISTクラスで文字列型なら、

List<string> ls = new List<string>();

ls.Add("ABC");
ls.Add("DEF");
ls.Add("XYZ");

listBox1.Items.AddRange(ls.ToArray());

こんな感じではないかな?

QCGIについて

いまホームページを作成しています。ホームページは完成したのですが、そのホームページに誰がログインしたのかが分かるようにしていきたいと考えています。
名前を入力させて、送信ボタンを押すことで、入室時間、ログイン名がわかるようにするにはどのようにすればいいでしょうか?CGIやPHPのやり方があるとは思うのですが、ソースをどのようにすればいいのかまったくわかりません。
無料のCGIのサイトからも拾ってきては試してはいるのですが、うまく動作せず、エラーが表示されてしまうことがあります。どなたかわかる方がいらっしゃいましたらご教授ください。

Aベストアンサー

無料のCGIサイトから持ってきたスクリプトを置いてそのまま動くなんて奇跡ですよ。
大抵は自分の環境に合わせて若干の手直しとか初期設定は必要です。
それをした上でのエラーならそのエラー内容を記載してください。

出来合いのものの設置もできないひとに、1からのスクリプト作成なんて絶対無理です。
あせらず一歩ずつ着実に解決していきましょう。

Q変数にドットをいれることはかのうでしょうか?

変数にドットをいれることはかのうでしょうか?
var text = '.......';
alert(text);

Aベストアンサー

#1さんの提示されたとおり「変数名」にドットは入れられませんが
命題の変数内にドットを入れる=ドットを含む文字列は
提示されているソースがそのまま動きますよね?

<script>
var text = '.......';
alert(text);
</script>

QC言語について(三角形の面積・double型)

現在C言語を勉強中のものです。
以下のプログラムを実行すると、面積の計算結果が0になってしまいます。
doubleを全てintに、%fを全て%dにするとうまく動くのは確認したのですが、
自分が作りたいのは、引数をdoubleにし、実行結果も小数点込みで計算するものです。

以下のプログラムの問題点とその理由、またどのように書き換えることでうまく動くのかを教えていただけたらと思います。
よろしくお願いいたします。

~~以下コード~~
#include <stdio.h>

double tri(double,double);

int main(){
   double takasa,teihen;
   double menseki;
   printf("takasa=");
   scanf("%f",&takasa);
   printf("teihen=");
   scanf("%f",&teihen);
   menseki = tri(takasa,teihen);
   printf("menseki = %f",menseki);
}

double tri(double n1,double n2){
   return n1*n2/2;
}

~~以下実行結果~~
takasa=3
teihen=4
menseki = 0.000000

現在C言語を勉強中のものです。
以下のプログラムを実行すると、面積の計算結果が0になってしまいます。
doubleを全てintに、%fを全て%dにするとうまく動くのは確認したのですが、
自分が作りたいのは、引数をdoubleにし、実行結果も小数点込みで計算するものです。

以下のプログラムの問題点とその理由、またどのように書き換えることでうまく動くのかを教えていただけたらと思います。
よろしくお願いいたします。

~~以下コード~~
#include <stdio.h>

double tri(double,double);

int mai...続きを読む

Aベストアンサー

doubleのフォーマット指定子は%fではなく%lfです
とりあえずそこを変えてみて実行してみてください

QC言語で、べき乗の計算をするプログラムについてです

X^8の計算を、掛け算を使わずに、足し算と引き算を使って計算するプログラムを作成するというものです。
足し算のみを使ってべき乗の計算をするプログラムは以下のソースコードの様にできたのですが、足し算と引き算の両方ともを使って計算するプログラムがわかりません。
べき乗の計算をどのように考えれば、足し算と引き算の両方を使って計算できるのか教えてください。
以下、足し算のみを使って計算するプログラムのソースコードです。
・・・ソースコード・・・
#include<stdio.h>

int main(void) {

int i, j, k;
i = 0; ///①Xの加算回数の値を保持する変数iを0に初期化する。///
j = 0; ///②X^2の加算回数の値を保持する変数jを0に初期化する。///
k = 0; ///③X^4の加算回数の値を保持する変数kを0に初期化する。///
double X, goukei1, goukei2, goukei3;
X = 0;
goukei1 = 0; ///④X^2の計算値を保持する変数goukei1を0に初期化する。///
goukei2 = 0; ///⑤X^4の計算値を保持する変数goukei2を0に初期化する。///
goukei3 = 0; ///⑥X^8の計算値を保持する変数goukei3を0に初期化する。///

printf("X=");
///数値Xを入力///
scanf_s("%lf", &X);

///⑦iがX以下か判定し、真ならば⑧~⑨を繰り返し、偽ならば繰り返しを終了する。///
for (i = 0; i < X; i++) { ///⑨iに1を加算する。///
goukei1 += X; ///⑧goukei1にXを加算する。///
}

///⑩jがgoukei1以下か判定し、真ならば⑪~⑫を繰り返し、偽ならば繰り返しを終了する。///
for (j = 0; j < goukei1; j++) { ///⑫jに1を加算する。///
goukei2 += goukei1; ///⑪goukei2にgoukei1を加算する。///
}

///⑬kがgoukei2以下か判定し、真ならば⑭~⑮を繰り返し、偽ならば繰り返しを終了する。///
for (k = 0; k < goukei2; k++) { ///⑮kに1を加算する。///
goukei3 += goukei2; ///⑭goukei3にgoukei2を加算する。///
}
///最終的な計算結果を出力///
printf("X^8=%f", goukei3);

return 0;
}

X^8の計算を、掛け算を使わずに、足し算と引き算を使って計算するプログラムを作成するというものです。
足し算のみを使ってべき乗の計算をするプログラムは以下のソースコードの様にできたのですが、足し算と引き算の両方ともを使って計算するプログラムがわかりません。
べき乗の計算をどのように考えれば、足し算と引き算の両方を使って計算できるのか教えてください。
以下、足し算のみを使って計算するプログラムのソースコードです。
・・・ソースコード・・・
#include<stdio.h>

int main(void) {
...続きを読む

Aベストアンサー

「引き算を使え」という問題の意図がよくわかりませんが、単純にfor文のカウンタ(質問文ではi, j, k)を加算ではなく減算でカウントするっていう意味だったりしないでしょうか。

ところで、X^8 = ((X^2)^2)^2 というアイデアは数学的には賢いやり方ですが、
足し算縛りのプログラムで作ると実は計算量は大きくなると思います。
X^8 = ((((((X*X)*X)*X)*X)*X)*X)*X の方が、実は計算回数が少なくて済みます。
X=10の場合、前者は10,110回、後者は70回の足し算になります。


人気Q&Aランキング

おすすめ情報